我有一个骨干集合,其中集合由带有 id 参数(不是 RESTful)的 url 获取
url: '/api/categories/?level=2&id=',
所以 id 可能是
&id=2
或者
&id=45
我该怎么做呢?我一直在阅读不同的帖子,有些人说要覆盖 Backbone Sync,而另一些人说只是进行获取但修改数据参数......
我有一个骨干集合,其中集合由带有 id 参数(不是 RESTful)的 url 获取
url: '/api/categories/?level=2&id=',
所以 id 可能是
&id=2
或者
&id=45
我该怎么做呢?我一直在阅读不同的帖子,有些人说要覆盖 Backbone Sync,而另一些人说只是进行获取但修改数据参数......
构造时Collection
,传递id
as 参数(默认情况下,Collection
do 时没有 id 属性Model
)。
然后,覆盖 的url
属性Collection
并传递一个函数:
MyCollection = Backbone.Collection.extend({
initialize : function(models, options) {
this.id = options.id;
},
model : // Your Model class
url: function() {
return '/api/categories/?id=' + this.id;
}
});
// [] is the initial, empty set of models
var coll = new MyCollection([], { id: 45 });
coll.fetch(); // the correct url will be called