Backbone.js 从视图中引用集合中的函数
当函数在集合中时,如何使用视图中的函数(如何从另一个文件中引用该函数),例如,我在集合中有此分页函数Backbone.js 从视图中引用集合中的函数,backbone.js,Backbone.js,当函数在集合中时,如何使用视图中的函数(如何从另一个文件中引用该函数),例如,我在集合中有此分页函数 pagination : function(perPage, page) { page = page - 1; var collection = this; collection = _(collection.rest(perPage * page)); collec
pagination : function(perPage, page) {
page = page - 1;
var collection = this;
collection = _(collection.rest(perPage * page));
collection = _(collection.first(perPage));
return collection.map( function(model) {
return model.toJSON();
});
},
这是我在视图中尝试过的,但不正确:
var paginatedCollection = new BansCollection(pagination(this.pageSize,pageToLoad));
我觉得作用于集合的函数不应该放在主干视图对象中。 我会将分页函数放在BansCollection中,以便您可以在视图代码中执行类似操作:
var paginatedCollection = new BansCollection();
paginatedCollection.pagination(this.pageSize, pageToLoad);
当您
初始化视图时
您还可以通过其他选项传递收藏
var myView = new MyView({collection: myCollection});
然后在您的视图中,您可以使用this.collection
正如@JonasGeiregat所建议的,视图可能不是分页逻辑的合适位置。因此,将分页逻辑移动到集合后,可以在视图中执行此操作
var models = this.collection.paginate(pageSize, page);
// render do whatever to print out those models/json