Tôi cố gắng tạo một chỉ thị cần thực hiện một số hành động khi trường nhập được đánh dấu là không hợp lệ. Ví dụ này cho phép giả sử tôi có một chỉ thị mà kiểm tra nếu đầu vào là một số nguyên tố, và tôi muốn tạo ra một chỉ thị mà thêm một lớp học để các phần tử khi nó không hợp lệ:Giá trị hiệu lực của chỉ thị AngularJS
<input type="text" ng-model="primeNumber" validate-prime invalid-add-class="error">
validate-thủ sử dụng phân tích cú pháp và định dạng trên mô hình ng để cập nhật tính hợp lệ của mô hình.
Bây giờ tôi muốn chỉ thị bổ sung không hợp lệ để thêm lớp "lỗi" khi mô hình không hợp lệ và xóa nó khi hợp lệ. Nói cách khác, nó sẽ xem thuộc tính $ valid (hoặc $ invalid) của bộ điều khiển mô hình. Tuy nhiên, tôi không thể tìm ra cách để làm việc này. Tôi cố gắng:
link : function(scope, element, attrs, ctrl) {
ctrl.$watch("$valid", function(newVal, oldVal) {
//never fired
});
}
Có lẽ tôi có thể xem một số biến trên phạm vi, nhưng tôi không biết đó là biến để xem cho.
Vậy làm thế nào tôi có thể được thông báo khi hiệu lực của mô hình thay đổi?
nếu bạn có thể chia sẻ chỉ thị của bạn, nó sẽ được tốt đẹp! –
Tôi không nhớ những gì tôi đã sử dụng chính xác điều này, nhưng giải pháp thứ hai của CaioToOn là khá nhiều chức năng liên kết đã có. Chỉ nội dung của hàm thứ hai mới được lấp đầy với bất kỳ hành động nào bạn muốn khi hiệu lực thay đổi. – Tiddo