Flujo de datos Angular2 +:
En Angular, los datos pueden fluir entre el modelo (clase de componente ts.file) y la vista (html del componente) de la siguiente manera:
- Del modelo a la vista.
- De la vista al modelo.
- Los datos fluyen en ambas direcciones, también conocido como enlace de datos bidireccional .
Sintaxis:
modelo para ver:
<input type="text" [ngModel]="overRideRate">
Esta sintaxis también se conoce como enlace de propiedad . Ahora, si la overRideRate
propiedad del campo de entrada cambia, la vista se actualizará automáticamente. Sin embargo, si la vista se actualiza cuando el usuario ingresa un número, la overRideRate
propiedad no se actualizará.
vista al modelo:
(input)="change($event)" // calling a method called change from the component class
(input)="overRideRate=$event.target.value" // on input save the new value in the title property
Lo que sucede aquí es que se activa un evento (en este caso, evento de entrada, pero podría ser cualquier evento). Luego podemos llamar a métodos de la clase de componente o guardar directamente la propiedad en una propiedad de clase.
Enlace de datos bidireccional:
<input [(ngModel)]="overRideRate" type="text" >
La siguiente sintaxis se utiliza para el enlace de datos bidireccional. Básicamente es un azúcar sintáctico para ambos:
- Modelo de encuadernación para ver.
- Enlace de vista a modelo
Ahora algo cambia dentro de nuestra clase, esto reflejará nuestra vista (modelo a vista), y cada vez que el usuario cambie la entrada, el modelo se actualizará (vista a modelo).
[ngModel]
- es solo propiedad vinculante, no bidireccional. Por lo tanto, ingresar un nuevo valor no se actualizaráoverRideRate
.