2

我目前有一个工作的backbone.js requestPager 集合,但想使用过滤器选项。我目前正在努力解决如何让它发挥作用。当我在 server_api 函数中使用链接“'filter':'sam'”时它可以工作,但我似乎无法动态完成这项工作。

我认为我遇到的问题是如何设置视图以更新集合。使用 clientPager 有一个 this.collection.setFilter() 函数,但似乎没有 requestPager 的等价物。

谁能指出我使用 requestPager 进行结果过滤的简单示例?

4

2 回答 2

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();
}
于 2012-06-08T00:39:40.163 回答
2

这取决于您的应用程序设计。在一个简单的情况下,您可以编写如下内容:

var PaginatedCollection = Backbone.Paginator.requestPager.extend({  
    setFilter: function (filter) {
        this.server_api['$filter'] = filter;
        this.currentPage = 0;
        this.fetch();
    },
    // ... 

});
于 2012-06-06T21:43:02.450 回答