我正在尝试为角度创建一个简单的分页过滤器,以便像这样使用:
<ul>
<li ng-repeat="page in items | paginate: 10">
<ul>
<li ng-repeat="item in page">{{ item }}</li>
</ul>
</li>
</ul>
我写了简单的函数:
angular.module('app.filters', [])
.filter('paginate', function() {
return function(input, perPage) {
var pages = [],
perPage = perPage || 10;
for (i=0; i < input.length; i += perPage)
pages.push(input.slice(i, i + perPage));
return pages;
};
});
它导致 angular 崩溃并带有非常神秘的(至少对我而言)错误消息。我发现问题出在过滤结果中的嵌套列表中。要重现该问题,这样做就足够了:
angular.module('app.filters', [])
.filter('paginate', function() {
return function(input, perPage) {
return [[1,2,3],[4,5,6]];
};
});
你能告诉我:
- 为什么嵌套列表是角度过滤器的问题?
- 我在哪里可以在文档中阅读它?
- 我如何最终以正确的方式编写过滤器?
您可以在此 plunker 中查看所有代码:http ://plnkr.co/edit/gUIJcJg0p5LqKGH10B8t?p=preview 运行代码后,打开控制台,您将看到错误消息。
谢谢