当我拨打Model#fetch()
或Collection#fetch()
时,Backbone会调用服务器,但它不会存储结果,但保存按预期工作。
在每个教程中,我发现他们解释说模型将存储在fetch()
之后。
response包含'success',collection包含带有正确json的XHR对象
tagCollection = new CategoryCollection();
tagCollection.fetch({
complete: function(collection, response) {
console.log(tagCollection.models);
},
});
/models/category.js
define(['underscore', 'backbone'], function(_, Backbone){
var CategoryModel = Backbone.Model.extend({
urlRoot: '/api/v1/category',
});
return CategoryModel
});
/collections/category.js
define(['underscore', 'backbone', 'categoryModel'], function(_, Backbone, CategoryModel){
var CategoryCollection = Backbone.Collection.extend({
model: CategoryModel,
url: '/api/v1/category'
});
return CategoryCollection
});
/ API / V1 /类别(上传.json)
[
{
id: "1",
name: "Allgemeines",
deleted_at: null,
created_at: "2014-02-23 17:22:22",
updated_at: "2014-02-23 17:22:22"
}
]
答案 0 :(得分:0)
Fetch接受'成功'回调而不是'完成'回调。假设数据从服务器成功传入主干,它可能只是没有注销,因为回调没有触发。试试这个:
tagCollection.fetch({
success: function(collection, response) {
console.log(tagCollection.toJSON());
},
});