Вот пример шаблона:
<input type="number" class="form-control" [(ngModel)]="overRideRate" formControlName="OverRideRate">
<input type="number" class="form-control" [ngModel]="overRideRate" formControlName="OverRideRate">
Здесь они оба делают одно и то же. Какой из них предпочтительнее и почему?
angular
angular-ngmodel
Маленький дракончик
источник
источник
[ngModel]
- это только привязка свойств, а не двусторонняя привязка. Таким образом, ввод нового значения не будет обновлятьсяoverRideRate
.[(ngModel)]
, Двухсторонний Привязка данных в угловыхОтветы:
[(ngModel)]="overRideRate"
это краткая форма[ngModel]="overRideRate" (ngModelChange)="overRideRate = $event"
[ngModel]="overRideRate"
привязатьoverRideRate
кinput.value
(ngModelChange)="overRideRate = $event"
заключается в обновленииoverRideRate
значения,input.value
когдаchange
событие было создано .Вместе они представляют собой то, что Angular2 предоставляет для двусторонней привязки.
источник
[ngModel]="currentHero.name"
- это синтаксис для односторонней привязки, а[(ngModel)]="currentHero.name"
предназначен для двусторонней привязки, а синтаксис составлен из:[ngModel]="currentHero.name"
и(ngModelChange)="currentHero.name = $event"
Если вам нужно только пройти модель, используйте первую. Если вашей модели необходимо прослушивать события изменения (например, при изменении значения поля ввода), используйте второе.
источник
Это довольно просто [] => компонент для шаблона () => шаблон для компонента
[(ngModel)]
- это сокращенная форма[ngModel]="currentHero.name" (ngModelChange)="currentHero.name=$event">
Подробнее здесь: https://angular.io/docs/ts/latest/guide/template-syntax.html#!#ngModel
источник
Angular2 + поток данных:
В Angular данные могут перемещаться между моделью (класс компонента ts.file) и представлением (html компонента) следующими способами:
Синтаксис:
модель для просмотра:
Этот синтаксис также известен как привязка свойств . Теперь, если
overRideRate
свойство поля ввода изменится, вид автоматически обновится. Однако, если представление обновляется, когда пользователь вводит число,overRideRate
свойство не обновляется.вид на модель:
Здесь происходит то, что запускается событие (в данном случае событие ввода, но может быть любое событие). Затем мы можем вызвать методы класса компонента или напрямую сохранить свойство в свойстве класса.
Двусторонняя привязка данных:
Следующий синтаксис используется для двусторонней привязки данных. По сути, это синтаксический сахар для обоих:
Теперь что-то меняется внутри нашего класса, это будет отражать наше представление (модель для просмотра), и всякий раз, когда пользователь изменяет ввод, модель будет обновляться (от представления к модели).
источник
[ngModel]
оценивает код и генерирует вывод (без двусторонней привязки) .[(ngModel)]
оценивает код и генерирует вывод, а также включает двустороннюю привязку .источник