在backbone.js paginator requestPager中使用'filter'选项

时间:2012-06-06 13:43:53

标签: javascript filter backbone.js paginator

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

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

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

2 个答案:

答案 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();
    },
    // ... 

});