Tôi biết rõ điều đó có thể được thực hiện và tôi đã xem xét khá nhiều nơi (bao gồm: Phương pháp hay nhất để lưu toàn bộ bộ sưu tập? ). Nhưng tôi vẫn không rõ "chính xác" nó được viết như thế nào trong mã? (bài đăng giải thích nó bằng tiếng Anh. Thật tuyệt nếu có một lời giải thích cụ thể về javascript :)
Giả sử tôi có một bộ sưu tập các mô hình - bản thân các mô hình có thể có các bộ sưu tập lồng nhau. Tôi đã ghi đè phương thức toJSON () của tập hợp mẹ và tôi đang nhận được một đối tượng JSON hợp lệ. Tôi muốn "lưu" toàn bộ bộ sưu tập (JSON tương ứng), nhưng xương sống dường như không được tích hợp sẵn chức năng đó.
var MyCollection = Backbone.Collection.extend({
model:MyModel,
//something to save?
save: function() {
//what to write here?
}
});
Tôi biết ở đâu đó bạn phải nói:
Backbone.sync = function(method, model, options){
/*
* What goes in here?? If at all anything needs to be done?
* Where to declare this in the program? And how is it called?
*/
}
Khi 'chế độ xem' được xử lý xong, nó có trách nhiệm ra lệnh cho bộ sưu tập tự "lưu" trên máy chủ (có khả năng xử lý yêu cầu cập nhật / tạo hàng loạt).
Các câu hỏi phát sinh:
- Làm thế nào / những gì để viết trong mã để "kết nối tất cả lại với nhau"?
- Vị trí 'bên phải' của các lệnh gọi lại và cách chỉ định lệnh gọi lại "thành công / lỗi" là gì? Ý tôi là về mặt cú pháp? Tôi không rõ về cú pháp đăng ký các cuộc gọi lại trong đường trục ...
Nếu đó thực sự là một công việc khó khăn thì chúng ta có thể gọi jQuery.ajax trong một chế độ xem và chuyển this.successMethod
hoặcthis.errorMethod
gọi lại thành công / lỗi không ?? Nó sẽ hoạt động?
Tôi cần phải đồng bộ với cách suy nghĩ của backbone - tôi biết chắc chắn tôi đang thiếu một thứ gì đó wrt, đồng bộ hóa toàn bộ bộ sưu tập.