Backbone.js 设置主干集合的默认选项
我有这样一个骨干收藏:Backbone.js 设置主干集合的默认选项,backbone.js,backbone.js-collections,Backbone.js,Backbone.js Collections,我有这样一个骨干收藏: var ThreadCollection = Backbone.Collection.extend({ url: '/api/rest/thread/getList' }); var myCollection = new ThreadCollection(); 然后我使用数据对象从服务器获取它以附加查询参数(因此在本例中,它显示为“/api/rest/thread/getList?userId=487343”) 我可能希望使用其他参数来代替userId(groupI
var ThreadCollection = Backbone.Collection.extend({
url: '/api/rest/thread/getList'
});
var myCollection = new ThreadCollection();
然后我使用数据对象从服务器获取它以附加查询参数(因此在本例中,它显示为“/api/rest/thread/getList?userId=487343”)
我可能希望使用其他参数来代替userId(groupId、orgId等),但我最好在初始化时定义数据参数,从那时起就可以运行fetch(),而无需指定。大概是这样的:
var myCollection = new ThreadCollection({
data: {
userId: 487343
}
});
myCollection.fetch()
但它不起作用。有人知道有没有办法做到这一点吗?谢谢 一种方法是在集合上定义一个自定义的
fetch
方法,该方法使用一些可覆盖的默认值调用superfetch
方法:
var ThreadCollection = Backbone.Collection.extend({
url: '/api/rest/thread/getList',
fetch: function(options) {
return Backbone.Collection.prototype.fetch.call(this, _.extend({
data: {
userId: 48743
}
}, options));
}
});
var myCollection = new ThreadCollection();
myCollection.fetch();
谢谢这正是我所想的,效果很好!
var ThreadCollection = Backbone.Collection.extend({
url: '/api/rest/thread/getList',
fetch: function(options) {
return Backbone.Collection.prototype.fetch.call(this, _.extend({
data: {
userId: 48743
}
}, options));
}
});
var myCollection = new ThreadCollection();
myCollection.fetch();