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