【发布时间】:2013-07-29 18:16:09
【问题描述】:
我有一个骨干集合,其中集合是通过带有 id 参数(非 RESTful)的 url 获取的
url: '/api/categories/?level=2&id=',
所以 id 可能是
&id=2
或
&id=45
我该怎么做呢?我一直在阅读不同的帖子,有些人说要覆盖 Backbone Sync,而另一些人则说只是进行提取但修改数据参数...
【问题讨论】:
标签: backbone.js
我有一个骨干集合,其中集合是通过带有 id 参数(非 RESTful)的 url 获取的
url: '/api/categories/?level=2&id=',
所以 id 可能是
&id=2
或
&id=45
我该怎么做呢?我一直在阅读不同的帖子,有些人说要覆盖 Backbone Sync,而另一些人则说只是进行提取但修改数据参数...
【问题讨论】:
标签: backbone.js
当您构造Collection 时,将id 作为参数传递(默认情况下,Collection 没有 id 属性,而Model 有)。
然后,覆盖Collection 的url 属性并传递一个函数:
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
【讨论】: