Tôi đang gặp sự cố khi Mô hình của tôi được tìm nạp từ máy chủ. Tôi thấy JSON chính xác được trả lại từ máy chủ trong các công cụ chrome dev nhưng mô hình không cập nhật với các giá trị trả lại.Backbone Model.fetch trả về dữ liệu nhưng không cập nhật mô hình
var listtemplate = new ListTemplateModel.Model({id: id}); listtemplate.fetch();
Tôi thấy dữ liệu chính xác trong các công cụ dành cho Chrome tại thời điểm này. Đây là những gì trở lại từ máy chủ:
{ "title": "Template one", "id": "template_one", "steps": [ { "description": "I love it", "id": 1, "created_at": "2012-12-24T18:01:48.402Z" }, { "description": "This is rubbish!", "id": 1, "created_at": "2012-12-24T18:01:48.402Z" } ], "created_at": "2012-12-24T18:01:48.402Z" }
nhưng giao diện điều khiển đăng nhập JSON cho tôi chỉ là giá trị mặc định và id đó đã được thông qua trong quá trình tạo mô hình.
console.log(listtemplate.toJSON());
và điều này trả về:
{id: "template_one", title: "", steps: Array[0]}
Mô hình của tôi trông như thế này (tôi đang sử dụng Require.js, vì thế mà Mô hình đã được đổi tên thành ListTemplateModel trên)
var Model = B.Model.extend({ defaults: { title: '', id: 0, steps: [] }, urlRoot: 'xxx' });
Bất kỳ ý tưởng ?
Chỉnh sửa @ Câu trả lời của Amulya đặt tôi đi đúng hướng và sau đó tôi phát hiện "sau đó". Hy vọng điều này sẽ giúp một người nào đó gặp phải sự cố tương tự:
listtemplate.fetch().then(function(){ //update the view });
@ Câu trả lời của Amulya đặt tôi đi đúng hướng và sau đó tôi phát hiện "sau đó". Hy vọng điều này sẽ giúp ai đó chạy vào cùng một vấn đề –