I want to have a place holder, e.g.
when filter result returns empty. Could anyone please help? I don\'t even know where to start...
<
Taken from this official document that's how they do it:
ng-repeat="friend in friends | filter:q as results"
Then use the results as an array
<li class="animate-repeat" ng-if="results.length == 0">
<strong>No results found...</strong>
</li>
Full snippet:
<div ng-controller="repeatController">
I have {{friends.length}} friends. They are:
<input type="search" ng-model="q" placeholder="filter friends..." aria-label="filter friends" />
<ul class="example-animate-container">
<li class="animate-repeat" ng-repeat="friend in friends | filter:q as results">
[{{$index + 1}}] {{friend.name}} who is {{friend.age}} years old.
</li>
<li class="animate-repeat" ng-if="results.length == 0">
<strong>No results found...</strong>
</li>
</ul>
</div>
A tweak on the approach that only requires you to specify the filter once:
<li ng-repeat="bar in filteredBars = (bars | filter:barFilter)">{{bar.name}}</li>
</ul>
<p ng-hide="filteredBars.length">Nothing here!</p>
Fiddle
Here is the trick using ng-show
HTML:
<div ng-controller="Ctrl">
<h1>My Foo</h1>
<ul>
<li ng-repeat="foo in foos">
<a href="#" ng-click="setBarFilter(foo.name)">{{foo.name}}</a>
</li>
</ul>
<br />
<h1>My Bar</h1>
<ul>
<li ng-repeat="bar in bars | filter:barFilter">{{bar.name}}</li>
</ul>
<p ng-show="(bars | filter:barFilter).length == 0">Nothing here!</p>
</div>
jsFiddle: http://jsfiddle.net/adrn/PEumV/2/