'ng-repeat' How to get the `unique` values

前端 未结 4 793
遇见更好的自我
遇见更好的自我 2020-12-10 04:13

Using an array, I am trying to filter and show the unique information in the list. For that I use the angular inbuild filter method.

相关标签:
4条回答
  • 2020-12-10 04:48

    AngularJS doesn't include a unique filter by default. You can use the one from angular-filter. Just include the JavaScript

    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-filter/0.5.8/angular-filter.min.js"></script>
    

    and include the dependeny in your app:

    var app = angular.module('myApp', ['angular.filter']);
    

    Your code should work right away! I edited your Plunker so it works.

    0 讨论(0)
  • 2020-12-10 04:51

    I think you are looking for an answer like this

    var app = angular.module('plunker', []);
    
    app.controller('MainCtrl', function($scope) {
      $scope.projectNames=projects
      $scope.Id = "1";
      $scope.SubProjectName="Retail Building";
    
    })
    .filter('unique', function() {
      return function(projects, subProjectName) {
        var newprojects =[];
        projects.forEach(function(project){
          if(project.SubProjectName === subProjectName)
            newprojects.push(project);
        });
        return newprojects;
      };
    });
    

    <li ng-repeat="project in projectNames | unique:SubProjectName">{{project.SubProjectName}}</li>
    

    Demo

    0 讨论(0)
  • 2020-12-10 04:57

    The unique filter you are probably attempting to use comes from AngularUI, so you need to include it:

    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui/0.4.0/angular-ui.js"></script>
    

    and add it as module dependency:

    var app = angular.module('plunker', ['ui.filters']);
    
    0 讨论(0)
  • 2020-12-10 05:13

    I have updated your plunkr as http://plnkr.co/edit/sx3u1ukH9752oR1Jfx6R?p=preview added filter dependency

    var app = angular.module('plunker', ['angular.filter']);
    

    Hope this may help you

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