Giả sử tôi muốn thực hiện điều gì đó như tự động chạy một số mã (như lưu dữ liệu vào máy chủ) bất cứ khi nào giá trị của mô hình thay đổi. Là cách duy nhất để làm điều này bằng cách thiết lập một cái gì đó như ng-change
trên mỗi điều khiển mà có thể có thể thay đổi mô hình?AngularJS: tự động phát hiện thay đổi trong mô hình
Tức là, với chế độ xem, mọi thứ sẽ thay đổi ngay khi mô hình được thay đổi mà không phải gắn kết bất kỳ thứ gì lên rõ ràng. Có một tương tự để có thể chạy mã tiết kiệm cho một máy chủ? Một cái gì đó như
myModel.on('change', function() {
$.post("/my-url", ...);
});
như bạn có thể thấy với thứ gì đó như xương sống.
Ah, tuyệt vời! Có bất kỳ lý do này dường như không được tất cả các tài liệu (tức là, tôi không nghĩ rằng bất kỳ hướng dẫn trên trang web góc đề cập đến thiết lập đồng hồ $ trực tiếp)? Có bất cứ điều gì xấu về điều này mà sẽ làm cho thiết lập (có khả năng nhiều) 'ng-thay đổi móc trên đầu vào kiểm soát một ý tưởng tốt hơn? – Alec
Vâng, sẽ rất tuyệt nếu hướng dẫn chính đề cập đến $ xem ở đâu đó.Điều gì là "xấu" về cách tiếp cận này là nó có thể tốn thời gian nếu mô hình của bạn lớn (mỗi chu kỳ tiêu hóa - mọi phím tắt trong một trường đầu vào - sẽ dẫn đến mô hình này bị kiểm tra sâu, có thể nhiều lần) . Trong trường hợp đó, chọn lọc $ watch() es hoặc chọn lọc ng-thay đổi sẽ tốt hơn. –