Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.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
Angularjs ng重复过滤所有数据,而不仅仅是过滤结果_Angularjs_Angularjs Ng Repeat_Angularjs Filter - Fatal编程技术网

Angularjs ng重复过滤所有数据,而不仅仅是过滤结果

Angularjs ng重复过滤所有数据,而不仅仅是过滤结果,angularjs,angularjs-ng-repeat,angularjs-filter,Angularjs,Angularjs Ng Repeat,Angularjs Filter,嗨,我是新来安格拉斯的,我有个问题要问 这是我的ng重复代码 <ul ng-repeat="todo in filteredData | filter:search"> 这段代码似乎只过滤Filteredata,而不是alldata本身 filteredData始终等于10,因为我在angularjs中使用分页 现在我的问题是,有没有一种方法可以过滤所有数据,而不仅仅是过滤数据? 我试过了 但这是行不通的 谢谢最好的方法是将分页创建为筛选器。 那么您的代码将被删除 <

嗨,我是新来安格拉斯的,我有个问题要问

这是我的ng重复代码

<ul ng-repeat="todo in filteredData | filter:search">
这段代码似乎只过滤Filteredata,而不是alldata本身

filteredData始终等于10,因为我在angularjs中使用分页

现在我的问题是,有没有一种方法可以过滤所有数据,而不仅仅是过滤数据? 我试过了


但这是行不通的


谢谢

最好的方法是将分页创建为筛选器。 那么您的代码将被删除

<tr ng-repeat="todo in alldata | filter:search | pagination:pageNum:perPage">

这里的完整工作代码笔:(请原谅jade和coffeescript-编辑器上方的眼睛向您显示已编译的HTML/JS)

您可以使用类似的方法,假设您的完整数据列表存储在

$scope.allData

然后您可以在
  • 中使用

    <li ng-repeat="todo in filterdData = (allData | filter:search)"> </li>
    

  • 过滤器应用于“|”之前的变量。因此,
    filteredData
    将被过滤。如何获取过滤数据?如何创建过滤数据?这就是您需要应用搜索过滤器的地方。
    过滤器
    过滤器只过滤任何源代码,因此您需要在所有数据中执行
    todo |过滤器:搜索
    ,然后应用分页。@goshafirm我通过除以allData/numPerPage得到过滤器数据。@JasonGoemaat是的,但如果我使用allData,它将显示所有数据,分页将不起作用。这样想。。。如果你去水果摊要10个苹果,他们给你6个绿苹果和4个红苹果,那么你只拿绿苹果,你就只有6个苹果了。你想先要青苹果,然后再要10个。筛选需要在分页之前进行。
    module.filter('pagination', function(){
      return function(array, page, perPage){
        return array.slice(page * perPage, (page+1) * perPage);
      }
    });
    
    <li ng-repeat="todo in filterdData = (allData | filter:search)"> </li>