我目前有一个工作的backbone.js requestPager集合,但是想使用filter选项。我目前正在努力解决如何使其发挥作用。当我在server_api函数中使用链接“'filter':'sam'”时,它可以工作,但我似乎无法动态地完成这项工作。
我认为我遇到的问题是如何设置视图以更新集合。使用clientPager有一个this.collection.setFilter()函数,但似乎没有requestPager的等价物。
有人能指出我使用requestPager进行结果过滤的简单示例吗?
答案 0 :(得分:3)
我这样做类似于user1248256,并且认为我也会发布。
以下是该系列的相关代码:
server_api: {
'filter': function() {return this.filterString },
'limit': function() { return this.perPage },
'offset': function() { return this.currentPage},
},
setFilter: function (filter) {
this.filterString = filter;
this.pager();
}
答案 1 :(得分:2)
这取决于您的应用设计。在一个简单的例子中,你可以这样写:
var PaginatedCollection = Backbone.Paginator.requestPager.extend({
setFilter: function (filter) {
this.server_api['$filter'] = filter;
this.currentPage = 0;
this.fetch();
},
// ...
});