The following AngularJS application is working with ng-repeat and an applied filter. A certain applied filter leaves no values left. How can I display a notification?
HTML
<div > <div data-ng-controller="myCtrl"> <ul > <li data-ng-repeat="item in values | filter:filterIds()"> <code>#{{item.id}}</code> Item </li> </ul> <p ng-show="!values.length">no vals with this filter</p> <button ng-click="loadNewFilter()"> filter now</button> </div> </div> AngularJS
var app = angular.module('m', []); app.controller('myCtrl', function ($scope) { $scope.values = [{ id: 1 }, .... }]; $scope.filter = [1,2,3,4,5,6]; $scope.filterIds = function (ids) { return function (item) { var filter = $scope.filter; return filter.indexOf(item.id) !== -1; } } $scope.loadNewFilter = function (){ $scope.filter = [-1]; $scope.$apply(); } });