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