加载模型或集合

时间:2013-08-09 11:24:31

标签: javascript backbone.js

我是Backbone的新手,之前我正在使用ExtJS。我的目标是使用一些数据填充Backbone集合。现在...在ExtJS中,如果我想加载一个集合,而不是使用属于它的.load()方法。在我阅读Backbone的文档时,我可以看到主要是为“模型”分配了feching / syncing方法。所以我的问题是:

“如果我想加载Backbone的集合,我应该直接加载还是通过'model'加载?”

1 个答案:

答案 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的集合加载它。