Tôi có thiết lập rất đơn giản ...Đồng bộ Backbone.js không kích hoạt bất kỳ sự kiện nào trên mô hình
Tuyến đường được thiết lập gọi một hộp thoại phương thức sử dụng bootstrap. Các headerView gọi một phương thức khi một trình đơn được nhấp -
menuClick: function(e){
e.preventDefault();
if (!this.myView) {
this.myView= new MyView({model: new MyModel()});
}
this.myView.render();
},
Trong MyView tôi gọi bind trong khởi
initialize: function(){
this.model.bind('sync', function(model){ alert('test view')});
}
Và gọi Backbone.sync trong một sự kiện nút bấm:
var response = Backbone.sync('read', this.model, {
success: function(data, textStatus, jqXHR) { alert('success'); },
error: function(data, textStatus, jqXHR){ alert(fail); }
});
Cảnh báo bên trong đồng bộ hóa được gọi ... nhưng cảnh báo trong lệnh bind trong khởi tạo không bao giờ được gọi. Đã cố gắng di chuyển các ràng buộc bên trong mô hình, di chuyển nó ra, cũng đã cố gắng đồng bộ hóa: thất bại, đồng bộ: thực hiện. Không thành công.
Ghi đè lên 'Backbone.sync' rất khó, và có vẻ lạ khi gọi nó trực tiếp .. Tại sao bạn không sử dụng các lệnh lớp cao như' Model.fetch() '? – fguillen