1

我的问题是我需要知道过滤的数组何时为空。我将一些过滤器应用于数组并显示结果,当过滤器没有结果时,我需要显示消息错误。我怎样才能捕捉到数组为空的那一刻?

html:

<div ng-repeat="array in arrays | filterArray1 | filterArray2 | filterArray3 | filter: 'name'>

提前致谢。

4

2 回答 2

5

您可以将过滤后的数组分配给变量,然后显示消息:

<div ng-repeat="array in filteredArrays = (arrays | filterArray1 | filterArray2 | filterArray3 | filter: 'name')>
   ...
</div>
<div ng-show="filteredArrays.length == 0">Empty message</div>
于 2013-06-19T19:44:53.857 回答
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/

于 2013-06-19T19:44:07.230 回答