'ng-repeat' How to get the `unique` values
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.
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>
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']);