ng-repeat:自定义过滤器,如果一个验证条件

时间:2017-06-08 10:23:34

标签: angularjs angularjs-ng-repeat

我有一个ng-repeat,循环遍及用户提议的操作列表。每个用户可以有一对多的动作。如果其中一个建议的操作验证了条件(位置),则应显示此用户的所有建议操作。

更抽象地说,当这些行中的一行具有另一个验证条件的属性时,如何显示具有特定属性的所有行?

我知道我可以提供自定义函数作为ng-repeat的过滤器,但到目前为止,我想出的所有方法都隐含在每个测试项目的整个列表中循环。也许我可以依赖于角度更高效的内置特征,因此这个问题。

1 个答案:

答案 0 :(得分:0)

我没有在ng-repeat的过滤函数中进行昂贵的计算,而是选择预先拦截和丰富数据。一旦解决了promise,就可以在控制器中完成此操作,或者更好地作为服务中的拦截器。

在我的具体情况中,我为每个项目添加了一个新字段“allLocations”。完成此操作后,过滤器函数可以正常测试每一行,即通过测试自己的属性,而不必遍历所有项目。

即使没有多少人会读到这个,但我就是这样解决的。