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 に答える