Angularjs ng重复过滤所有数据,而不仅仅是过滤结果
嗨,我是新来安格拉斯的,我有个问题要问 这是我的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中使用分页 现在我的问题是,有没有一种方法可以过滤所有数据,而不仅仅是过滤数据? 我试过了 但这是行不通的 谢谢最好的方法是将分页创建为筛选器。 那么您的代码将被删除 <
<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>