2017-03-09 16 views
9

Jaka jest różnica między`[(ngModel)]` `vs [(wartość)]`

<input [(ngModel)]="name"> 

i

<input [(value)]="name"> 

Wydają się zrobić to samo.

Doktryny kątowe używają NgModel, ale mówią też, że zastępują wszystkie dyrektywy kątowe1 "pudełkiem bananowym" [()]. Dlaczego więc nadal jest w pobliżu?

Czego mi brakuje?

Odpowiedz

20
  • ngModel jest dyrektywa, które umożliwia wejście do uczestnictwa w formie (ale działa także bez formy)
  • value to własność można powiązać wartość z [value]="name" podczas (valueChange)="..." nie działa, ponieważ element <input> nie ma wartości @Output() valueChange;, dlatego [(value)]="..." jest nieprawidłowy.

[(ngModel)]="name" jest skrótem [ngModel]="name" (ngModelChange)="name = $event" jak [(value)]="name" do [value]="name" (valueChange)="name = $event"

Powiązane problemy