AngularJs – Leeres Filter Ergebnis

Tutorial AngularJs

von Ardian Shala, 18.02.2017 - update: 20.05.2018
Mit einer einfachen Abfrage lässt sich im Falle eines leeren Filter Ergebnis eine entsprechende Nachricht anzeigen
Vorraussetzung:
  • Angular 1.5.x > - link

Downloads:

JsFiddle Beispiel

Controller mit Array erstellen

angular.module("app", []);

angular.module("app").controller("homeCtrl", function() {
  var vm = this;

  vm.animals = ['cat', 'dog', 'pig'];
});

View erstellen

Hierbei wird das Array iteriert.
Sobald sich das Binding des Inputs ändert, wird das Array gefilter.
Bei leerem Ergebnis wird „nothing found“ angezeigt

<div ng-controller="homeCtrl as vm">

  <input type="text" ng-model="searchTerm" />

  <h3>Animals</h3>
  <ul>
    <li ng-repeat="animal in vm.animals | filter: searchTerm | orderBy">
      {{animal}}
    </li>

    <li ng-show="(vm.animals | filter : searchTerm ).length == 0">nothing found</li>
  </ul>

</div>

Wichtig ist hier die zeile:
ng-show="(vm.animals | filter : searchTerm ).length == 0"

#$filter #angularjs

Autor: Ardian Shala

Ersteller der Webseite MuchaDev. Selbstständiger IT Constultant für Frontend Technologien.