Как установить компонентный ввод Angular2 условно?
Рассмотрим следующий случай.
Родительский компонент:
<div title="title1">
<my-component input="title2"></my-component>
<my-component></my-component>
</div>
MyComponent:
<div [title]="input">ABC</div>
Проблема здесь в том, что первый "ABC" div будет иметь "title2"
всплывающая подсказка, в то время как вторая будет иметь то, что MyComponent будет иметь значение по умолчанию для input
и это "переопределит" "title1"
всплывающая подсказка, которая не желательна.
Как можно избежать установки "заголовка" в шаблоне MyComponent, если "вход" не получен?
1 ответ
Решение
Похоже, что связывание title
свойство дочернего элемента переопределит родительский title
, даже когда input
является null
или же undefined
, Однако, согласно этому стеку, связывание атрибута заголовка с [attr.title]
позволяет наследовать родителя title
когда input
является null
или же undefined
:
<div [attr.title]="input">ABC</div>
с
@Input() input: string; // undefined by default