【发布时间】:2016-12-02 20:01:10
【问题描述】:
我想知道是否可以在 ng-repeat 指令中一次性绑定一个变量,然后对该变量进行过滤。
我的代码现在不幸地在执行过滤后执行了变量的一次性绑定,尽管我需要在执行过滤之前完成绑定。
这是我的代码:
<div flex="20" ng-repeat="item in ::vm.items | filter: vm.itemSearch
| limitTo: vm.query.limit : (vm.query.page -1) * vm.query.limit">
</div>
请记住,vm.items 是一个数组,它可能包含 20,000 个元素,因此需要一次性绑定。
过滤器用于搜索和分页。我希望能够做的事情如下:
<div flex="20" ng-repeat="item in (::vm.items) | filter: vm.itemSearch
| limitTo: vm.query.limit : (vm.query.page -1) * vm.query.limit">
</div>
但是,由于以下错误,这不是有效的 AngularJS 语法:
语法错误:标记“:”不是表达式第 2 列的主表达式。
有人有办法绕过这个限制吗?
【问题讨论】:
-
我建议看一下模块Bindonce 在AngularJS中的高性能绑定
-
我已经尝试过使用它,但遗憾的是它没有任何区别。
标签: javascript angularjs ng-repeat