我的问题是我需要知道我的数组过滤后是否为空。我正在将一些过滤器应用于数组并显示结果,当过滤器没有结果时,我需要显示一条消息错误。如何捕获数组为空的时刻?
Html:
<div ng-repeat="array in arrays | filterArray1 | filterArray2 | filterArray3 | filter: 'name'>
提前致谢。
答案 0 :(得分:5)
您可以将过滤后的数组分配给变量,然后显示消息:
<div ng-repeat="array in filteredArrays = (arrays | filterArray1 | filterArray2 | filterArray3 | filter: 'name')>
...
</div>
<div ng-show="filteredArrays.length == 0">Empty message</div>
答案 1 :(得分:0)
您可以使用ng-init将其存储在临时变量中:
<div ng-app="app">
<div ng-controller="ParentCtrl">
<div data-ng-init="filteredArray = (arrays | myFilter)">
<div data-ng-repeat="data in filteredArray">
{{ data }}
</div>
<div data-ng-show="!filteredArray.length">
no results
<!-- no results -->
</div>
</div>
</div>
</div>
这是一个小提琴,它有一个操纵数据的过滤器:http://jsfiddle.net/XwFQJ/