37 votes

`[(ngModel)]` vs `[(value)]`

Quelle est la différence entre

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

et

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

Ils semblent faire la même chose.

Les docs angulaires utilisent NgModel mais ils disent aussi qu'ils remplacent toutes les directives angular1 par la "banane en boîte" [()]. Alors pourquoi NgModel est toujours là?

Qu'est-ce que je rate?

53voto

Günter Zöchbauer Points 21340
  • ngModel est une directive qui permet à votre entrée à participer à une forme (mais fonctionne aussi sans un formulaire)
  • value est une propriété que vous pouvez lier une valeur avec [value]="name" tout (valueChange)="..." ne fonctionne pas, parce que l' <input> élément n'a pas d' @Output() valueChange; donc [(value)]="..." n'est pas valide.

[(ngModel)]="name" est le raccourci pour [ngModel]="name" (ngModelChange)="name = $event" comme [(value)]="name" pour [value]="name" (valueChange)="name = $event"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X