formControlName с скобками или без них?
в чем разница между использованием formControlName
в скобках и без скобок? В динамической форме учебник formcontrolname
используется внутри скобок
[formControlName]="dyncontrol.key"
но в других учебниках я видел его без них
formControlName="name"
3 ответов
С документация по синтаксису шаблона:
помните скобки
скобки указывают Angular для оценки выражения шаблона. Если мы забудем скобки, Angular рассматривает строку как константу и инициализирует целевое свойство этой строкой. Он не оценивает строку!
Не делайте следующую ошибку:
<!-- ERROR: HeroDetailComponent.hero expects a Hero object, not the string "currentHero" --> <hero-detail hero="currentHero"></hero-detail>
использование скобок означает, что значение является выражением, без скобок значение является строкой:
let a = {n: "name"};
затем [formControlName]="a.n"
то же самое с formControlName="name"
.
все остальные атрибуты angular2 имеют одинаковый регулярный.
в скобках это свойство привязки:
[viewTargetProperty]='componentMember'
без скобок это входной элемент компонента или директивы:
<p appHighlight highlightColor="yellow">Highlighted in yellow</p>
highlightColor
ввод директивы appHighLight
.
так, для formControlName
это вход