Angular js - Show message if ng-repeat is empty

后端 未结 7 1976
别那么骄傲
别那么骄傲 2020-12-13 19:08

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?

<
相关标签:
7条回答
  • 2020-12-13 19:54

    I think this is what you want:

    var app = angular.module('myApp', []);    
    app.controller('myCtrl', function ($scope) {
      $scope.values = [
        {id: 1}, 
        {id: 2}, 
        {id: 3}, 
        {id: 4}, 
        {id: 5}, 
        {id: 6}];
        
      $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,5];    
      }                 
    });
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
    <div ng-app="myApp">
      <div data-ng-controller="myCtrl">               
        <ul>
          <li data-ng-repeat="item in testValue=(values | filter:filterIds())"> 
            <code>#{{item.id}}</code> Item
          </li>
        </ul>           
        <p ng-show="!testValue.length">no vals with this filter</p>
        <button ng-click="loadNewFilter()"> filter now</button>
      </div>
    </div>

    FIDDLE LINK

    This is Another one FIDDLE LINK check this also

    0 讨论(0)
提交回复
热议问题