Двусторонняя привязка данных в угловых 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}}
Другие вопросы по тегам