Đó là một tính năng đã biết của backbone.js khi bạn thiết lập dữ liệu không thay đổi, nó sẽ không kích hoạt sự kiện thay đổi, cũng như không thông qua xác thực. Tuy nhiên, tôi cần sự kiện thay đổi để kích hoạt khi tôi lưu trữ một phản hồi JSON từ một cuộc gọi AJAX lưu trữ kết quả xác nhận hợp lệ phụ trợ. Nếu người dùng tiếp tục gửi biểu mẫu trong khi để trống trường đó, xác nhận hợp lệ phụ trợ sẽ trả lại kết quả JSON giống nhau và khi tôi lưu nó vào mô hình, nó sẽ không kích hoạt sự kiện thay đổi.Kích hoạt backbone.js thay đổi khi giá trị không thay đổi
Một vài điều tôi đã cố gắng trong callback thành công AJAX nơi tôi đặt dữ liệu vào mô hình:
Solution Đã cố gắng # 1
t.model.unset('fieldErrors',{silent: true});
t.model.set({fieldErrors: JSONResponse});
Đã cố gắng Giải pháp # 2
t.model.set({fieldErrors: null},{silent: true});
t.model.set({fieldErrors: JSONResponse});
Không có kết quả nào trong sự kiện thay đổi này kích hoạt lần thứ hai khi cuộc gọi được thực hiện và người dùng có cùng JSONResponse.
Nếu bạn không sợ soạn sẵn, xem câu trả lời ScottPuleo của. Nếu không, bạn có thể ghi đè phương thức 'Model # set' để luôn kích hoạt sự kiện tùy chỉnh (tôi sẽ đăng câu trả lời về cách bạn quan tâm). – Loamhoof