Angular2 + veri akışı:
Angular'da veriler model (bileşen sınıfı ts.file) ve görünüm (bileşenin html'si) arasında aşağıdaki şekillerde akabilir:
- Modelden görünüme.
- Görünümden modele.
- Veri, 2 yönlü veri bağlama olarak da bilinen her iki yönde akar .
Sözdizimi:
görüntülenecek model:
<input type="text" [ngModel]="overRideRate">
Bu sözdizimi, özellik bağlama olarak da bilinir . Şimdi overRideRate
, giriş alanının özelliği değişirse, görünüm otomatik olarak güncellenecektir. Ancak, kullanıcı bir sayı girdiğinde görünüm güncellenirse, overRideRate
özellik güncellenmeyecektir.
modeli görüntüle:
(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
Burada olan şey, bir olayın tetiklenmesidir (bu durumda giriş olayı, ancak herhangi bir olay olabilir). Daha sonra bileşen sınıfının yöntemlerini çağırabilir veya özelliği doğrudan bir sınıf özelliğine kaydedebiliriz.
2 yönlü veri bağlama:
<input [(ngModel)]="overRideRate" type="text" >
Aşağıdaki sözdizimi, 2 yönlü veri bağlama için kullanılır. Temelde her ikisi için de sözdizimsel bir şekerdir:
- Modeli görüntülemek için bağlama.
- Görünümü modele bağlama
Şimdi sınıfımızın içinde bir şeyler değişir, bu bizim görüşümüzü yansıtacak (modele bakılacak) ve kullanıcı girdiyi her değiştirdiğinde model güncellenecektir (görünümden modele).
[ngModel]
- yalnızca özellik bağlamadır, iki yönlü bağlama değildir. Yani yeni değer girilmesi güncellenmeyecektiroverRideRate
.