Luồng dữ liệu Angular2 +:
Trong Angular, dữ liệu có thể lưu chuyển giữa mô hình (lớp thành phần ts.file) và chế độ xem (html của thành phần) theo cách thức sau:
- Từ mô hình đến chế độ xem.
- Từ chế độ xem đến mô hình.
- Dữ liệu chảy theo cả hai hướng, còn được gọi là liên kết dữ liệu 2 chiều .
Cú pháp:
mô hình để xem:
<input type="text" [ngModel]="overRideRate">
Cú pháp này còn được gọi là ràng buộc thuộc tính . Bây giờ nếu thuộc overRideRate
tính của trường đầu vào thay đổi, chế độ xem sẽ tự động được cập nhật. Tuy nhiên, nếu chế độ xem cập nhật khi người dùng nhập một số, thuộc overRideRate
tính sẽ không được cập nhật.
xem mô hình:
(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
Điều xảy ra ở đây là một sự kiện được kích hoạt (trong trường hợp này là sự kiện đầu vào, nhưng có thể là bất kỳ sự kiện nào). Sau đó, chúng ta có thể gọi các phương thức của lớp thành phần hoặc trực tiếp lưu thuộc tính trong một thuộc tính của lớp.
Liên kết dữ liệu 2 chiều:
<input [(ngModel)]="overRideRate" type="text" >
Cú pháp sau được sử dụng để liên kết dữ liệu 2 chiều. Về cơ bản, nó là một đường cú pháp cho cả hai:
- Mô hình ràng buộc để xem.
- Chế độ xem ràng buộc với mô hình
Bây giờ một cái gì đó thay đổi bên trong lớp của chúng tôi, điều này sẽ phản ánh khung nhìn của chúng tôi (mô hình để xem) và bất cứ khi nào người dùng thay đổi đầu vào, mô hình sẽ được cập nhật (xem thành mô hình).
[ngModel]
- nó chỉ ràng buộc tài sản, không ràng buộc hai chiều. Vì vậy, nhập giá trị mới sẽ không cập nhậtoverRideRate
.