gpt4 book ai didi

javascript - ng-repeat 中一次绑定(bind)后的 AngularJS 过滤器

转载 作者:行者123 更新时间:2023-12-03 06:26:19 25 4
gpt4 key购买 nike

我想知道是否可以在 ng-repeat 指令中一次性绑定(bind)一个变量,然后过滤该变量。

不幸的是,我的代码现在在执行过滤后执行变量的一次性绑定(bind),尽管我需要在执行过滤之前完成绑定(bind)。

这是我的代码:

<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 个元素,因此需要一次性绑定(bind)。

过滤器用于搜索和分页。我希望能够做的是如下所示:

<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 列的主表达式。

有人有办法绕过这个限制吗?

最佳答案

我认为这实际上不可能。任何一次绑定(bind)值在应用过滤后都不会改变。

您应该只将过滤结果传递给您的ng-repeat 。性能方面 | limitTo做了所有的伎俩。您应该将其放入 Controller 内的方法中 - 我认为您的错误来自 : or-operator那里。

关于javascript - ng-repeat 中一次绑定(bind)后的 AngularJS 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38636169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com