Angular.js. How to count ng-repeat iterations which satisfy the custom filter

后端 未结 4 778
失恋的感觉
失恋的感觉 2020-11-28 11:48

Here\'s my code:

Filter:

Kb.filter(\"notEmpty         


        
相关标签:
4条回答
  • 2020-11-28 12:24

    I found this

    How to display length of filtered ng-repeat data ,

    that describes to get the count after filtering the list

    0 讨论(0)
  • 2020-11-28 12:26

    The easiest way may be to run the filter in your controller. Something like this:

    function MyCtrl($scope, notEmptyFilter)
    {
        //$scope.items is put into the scope somehow
        $scope.filteredItems = notEmptyFilter($scope.items);
    }
    

    Then your HTML would look something like this:

    <div ng-show="filteredItems.length > 0" ng-repeat="item in filteredItems">
    </div>
    
    0 讨论(0)
  • 2020-11-28 12:26

    As of Angular 1.3 you can use following syntax for ng-repeat:

    variable in expression as alias_expression
    

    That is:

    <p>Number of filtered items: {{filteredItems.length}}</p>
    
    <div ng-repeat="item in items | notEmpty as filteredItems">
     ...
    </div>
    
    0 讨论(0)
  • 2020-11-28 12:34

    ng-repeat expression allows filtered results to be assigned to a variable. This variable will be accessible from current scope so you can use it in same scope anyway you want:

    <p>Number of filtered items: {{filteredItems.length}}</p>
    
    <div 
      ng-show="filteredItems.length > 0" 
      ng-repeat="item in filteredItems = (items | notEmpty)"
    >
     {{$index}}
    </div>
    
    0 讨论(0)
提交回复
热议问题