$pristine
/ $dirty
cho bạn biết liệu người dùng có thực sự thay đổi bất cứ điều gì hay không, trong khi $touched
/ $untouched
cho bạn biết liệu người dùng có đơn thuần ở đó / đã truy cập hay không .
Điều này thực sự hữu ích cho việc xác nhận. Lý do $dirty
là luôn luôn để tránh hiển thị phản hồi xác thực cho đến khi người dùng thực sự đã truy cập một điều khiển nhất định. Nhưng, bằng cách chỉ sử dụng thuộc $dirty
tính, người dùng sẽ không nhận được phản hồi xác thực trừ khi họ thực sự thay đổi giá trị. Vì vậy, một $invalid
trường vẫn không hiển thị cho người dùng lời nhắc nếu người dùng không thay đổi / tương tác với giá trị. Nếu người dùng hoàn toàn bỏ qua một trường bắt buộc, mọi thứ đều ổn.
Với Angular 1.3 và ng-touched
, giờ đây bạn có thể đặt một kiểu cụ thể trên một điều khiển ngay khi người dùng bị mờ, bất kể họ có thực sự chỉnh sửa giá trị hay không.
Đây là CodePen cho thấy sự khác biệt trong hành vi.