Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js在过滤结果重置为原始结果集后获取_Backbone.js_Filtering_Backbone.js Collections_Backgrid - Fatal编程技术网

Backbone.js在过滤结果重置为原始结果集后获取

Backbone.js在过滤结果重置为原始结果集后获取,backbone.js,filtering,backbone.js-collections,backgrid,Backbone.js,Filtering,Backbone.js Collections,Backgrid,我使用Backgrid和主干分页,使用fetch过滤集合,这反过来会更新Backgrid表和分页控件 filterFunction: function (query) { _.each(query, function (q) { if(List.grid.collection.queryParams.hasOwnProperty(q.key)) { var firstValue = List.grid.collection.queryParams[q.key

我使用Backgrid和主干分页,使用fetch过滤集合,这反过来会更新Backgrid表和分页控件

 filterFunction: function (query) {
    _.each(query, function (q) {
      if(List.grid.collection.queryParams.hasOwnProperty(q.key)) {
        var firstValue = List.grid.collection.queryParams[q.key]
        List.grid.collection.queryParams[q.key] = firstValue + ',' + q.value
      } else {
          List.grid.collection.queryParams[q.key] = q.value
          }
       })
      List.grid.collection.fetch(
        {
          'reset': true
     })
  }
这很好,一旦集合被过滤,我可能会有一个6长的集合,而不是60长的集合。我的问题出现在我想要取消筛选集合并返回到原来的60长集合时。我确实认为我可以调用原始的listAllFunction,但该函数将背景网格和分页控件重新绘制到页面上。我认为更好的方法是编写某种函数,覆盖fetch以请求所有结果。比如:

List.grid.collection.**fetchALL** (
   {
      'reset' : true,
      'url': // tell it to go and get ALL the results?

   }
)

这可能吗?或者对我应该采取的方法有什么建议?

当您决定使用带有自定义查询参数的fetch来过滤集合时,您可以在获取之前重置集合还原原始queryparams:

List.grid.collection.queryParams = Backbone.PageableCollection.prototype.queryParams;
List.grid.collection.fetch({reset: true});