NgRepeat:多个过滤器使用track by选项生成数组长度

时间:2015-03-30 11:02:52

标签: angularjs ng-repeat angularjs-filter

说我有像

那样的重复重复
<li ng-repeat="event in eventData | filter:search | customFilter1:someData 
| customFilter2:someData | orderBy:predicate:reverse | limitTo:quantity 
track by id">{{event.someAttribute}}</li>

我希望使用ng-hide显示空结果集的通知或者你有什么。我的问题是,我怎样才能获得所有过滤器&#39;合并得到的数组长度,同时保持跟踪选项?我试过了

<li ng-repeat="event in filtered = ( eventData | filter:search 
| customFilter1:someData | customFilter2:someData ) | 
orderBy:predicate:reverse | limitTo:quantity 
track by id">{{event.someAttribute}}</li>

和许多变体,但我没有找到正确的语法来将所有过滤结果传递给变量或别名,之后我就能做到

<div ng-show="filtered.length === 0">No Results.</div>

它没有轨道选项。随着轨道我总是得到一个语法错误。我知道规则是始终在表达式的最后和表达之外进行跟踪。 Angular文档仅说明

item in expression track by

那么包装表达式部分并能够跟踪的语法是什么?

修改

原来是罪魁祸首     跟踪

更新了问题。

1 个答案:

答案 0 :(得分:0)

确定。如果有人有同样的问题,这就是答案。

ng-options track by and select as are not compatible

因此,这是一个错误或记录很差的功能。 跟踪并选择不兼容。