Angular.jsのng-repeatで0件の時にメッセージを表示する方法をメモ。
サンプルコード
ng-repeatでフィルター後の件数を取得する方法に手間取りましたが、フィルタリングしたデータをng-repeatで使用すればいいようです。
HTML
<div ng-controller="ctrl">
<input type="text" ng-model="search" placeholder="検索" />
<ul>
<li ng-repeat="d in filteringData = (data | filter:search)">{{d.name}} ({{d.age}})</li>
</ul>
<p>件数:{{filteringData.length}}</p>
<p ng-show="filteringData.length <= 0">データがありません。</p>
</div>
JavaScript
var app = angular.module('app', []);
app.controller('ctrl', function($scope) {
$scope.data= [
{
"name": "suzuki",
"age": 18
}, {
"name": "satoh",
"age": 24
}, {
"name": "tanaka",
"age": 23
}, {
"name": "takahashi",
"age": 16
}
];
});
ng-repeatが0件の時にメッセージが出るようになりました。
ng-repeatで0件の時にメッセージを表示するデモページ
【参考サイト】
コメントが承認されるまで時間がかかります。