嗨,我是 angularjs 的新手,我只是有问题要问。
这是我的ng重复代码。
<ul ng-repeat="todo in filteredData | filter:search">
似乎此代码只会过滤过滤的数据,而不是所有数据本身。
filteredData 总是等于 10,因为我在 angularjs 中使用分页。
现在我的问题是有没有办法过滤所有数据而不仅仅是过滤的数据?我试过了
<tr ng-repeat="todo in filteredData | filter:alldata:search">
但行不通。
谢谢
执行此操作的最佳方法是将分页创建为筛选器。那么你的代码将是
<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(请原谅玉和咖啡脚本 - 编辑器上方的眼睛向您展示编译后的 HTML/JS)
使用这样的东西,假设你的完整数据列表存储在
$scope.allData
然后你可以在你的<li>
中使用
<li ng-repeat="todo in filterdData = (allData | filter:search)"> </li>