我是Backbone的新手,之前我正在使用ExtJS。我的目标是使用一些数据填充Backbone集合。现在...在ExtJS中,如果我想加载一个集合,而不是使用属于它的.load()方法。在我阅读Backbone的文档时,我可以看到主要是为“模型”分配了feching / syncing方法。所以我的问题是:
“如果我想加载Backbone的集合,我应该直接加载还是通过'model'加载?”
答案 0 :(得分:2)
Backbone Collection可以是Backbone Models的集合。 如果您将集合设置为:
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
应该返回代表一个Model的JSON。
想象你的服务器返回JSON有一个像"name"
这样的属性,那么你可以做一些有趣的事情:collection.where({name: 'some name'})
。这将返回一个包含YourModel
s。
所以,回答你的初步问题,是的,你应该通过Backbone的集合加载它。