我是 Backbone 的新手,我以前使用过 ExtJS。我的目标是用一些数据填充主干集合。现在......在 ExtJS 中,如果我想加载一个集合,而不是使用属于它的 .load() 方法。当我阅读 Backbone 的文档时,我可以看到大多数分配给“模型”的获取/同步方法。所以我的问题是:
“如果我想加载 Backbone 的集合,我应该直接加载还是通过‘模型’加载?”
我是 Backbone 的新手,我以前使用过 ExtJS。我的目标是用一些数据填充主干集合。现在......在 ExtJS 中,如果我想加载一个集合,而不是使用属于它的 .load() 方法。当我阅读 Backbone 的文档时,我可以看到大多数分配给“模型”的获取/同步方法。所以我的问题是:
“如果我想加载 Backbone 的集合,我应该直接加载还是通过‘模型’加载?”
骨干集合可以是骨干模型的集合。如果您将收藏设置为:
YourCollection = Backbone.Collection.extend({
model: YourModel,
url: '/url/to/json/collection';
}
});
和你的模型:
YourModel = Backbone.Model.extend({
url: '/url/to/json/model';
}
});
然后您可以执行以下操作:
var collection = new YourCollection();
collection.fetch(); //GETs /url/to/json/collection
该路径/url/to/json/collection
应返回一个 JSON 数组,其中数组中的每个元素都是模型的 JSON。
该路径/url/to/json/model
应返回代表一个模型的 JSON。
想象你的服务器返回的 JSON 有一个类似 的属性"name"
,那么你可以做一些有趣的事情:collection.where({name: 'some name'})
. YourModel
这将返回一个带有s的数组。
所以,回答你最初的问题,是的,你应该通过 Backbone 的集合加载它。