Двусторонняя привязка данных в angular 2
Я недавно дошел до angular 2 и натыкался на двухстороннюю привязку данных. Вот путаница:
<input (input)="username = $event.target.value" id="testing">
<p>{{username}}</p>
Это хорошо служит цели. Кажется, что это двухсторонняя привязка данных. Я могу получить доступ к имени пользователя внутри компонента, а также изменить значение свойства элемента ввода. Зачем мне вообще нужно []? Какая здесь двойная привязка? что входит в компонент и что выходит из компонента.
Отказ от ответственности: я знаю, что это очень наивный и, казалось бы, глупый вопрос: |
Ответы
Ответ 1
Как я понимаю, пишу, как вы:
(input)="username = $event.target.value"
совпадает с:
[(input)]="username"
Таким образом, они являются двухсторонней привязкой данных
если вы хотите только один способ:
(input)="username"
https://angular.io/docs/ts/latest/guide/template-syntax.html
Ответ 2
Angular 2 объясняется привязка данных здесь.
Когда вы пишете на входе, вы выполняете: "username = $event.target.value", который присваивает переменной пользователю введенное значение.
Это означает, что следующий html делает то же самое:
-
[(ngModel)]="username"
-
[username]="username" (input)="updateUserName()"
-
(input)="username = $event.target.value"
и {{userName}}