嗨,我是angularjs的新手,我只是有问题要问。
这是我的ng-repeat代码。
<ul ng-repeat="todo in filteredData | filter:search">
似乎这段代码只会过滤过滤后的数据,而不是alldata本身。
filteredData总是等于10,因为我在angularjs中使用了分页。
现在我的问题是有一种方法可以过滤alldata而不仅仅是filterData? 我试过了
<tr ng-repeat="todo in filteredData | filter:alldata:search">
但是没有用。
由于
答案 0 :(得分:1)
执行此操作的最佳方法是将分页创建为过滤器。 然后你的代码将是
<tr ng-repeat="todo in alldata | filter:search | pagination:pageNum:perPage">
分页过滤器:
module.filter('pagination', function(){
return function(array, page, perPage){
return array.slice(page * perPage, (page+1) * perPage);
}
});
这里有完整的工作代码:http://codepen.io/SimeonC/pen/gbpqNM?editors=101(请原谅jade和coffeescript - 编辑器上方的眼睛向您显示已编译的HTML / JS)
答案 1 :(得分:0)
你可以使用这样的东西,假设你的完整数据列表存储在
中 $scope.allData
然后您可以在<li>
<li ng-repeat="todo in filterdData = (allData | filter:search)"> </li>