2015-09-29 8 views
7

एक सरणी का उपयोग करके, मैं सूची में unique जानकारी फ़िल्टर करने और दिखाने का प्रयास कर रहा हूं। इसके लिए मैं angular इनबिल्ड filter विधि का उपयोग करता हूं।'ng-repeat' 'अद्वितीय' मान कैसे प्राप्त करें

लेकिन मुझे त्रुटि मिल रही है।

यहाँ मेरी कोशिश (मैं SubProjectName के आधार पर फ़िल्टर कर रहा हूँ) है

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

Live Demo

+1

कोणीय के फ़िल्टर में निर्मित 'अद्वितीय' विधि नहीं है। – muenchdo

+0

ऐसा है .. तो इसे करने का तरीका क्या होगा? कोई मुझे सुझाव देता है? – 3gwebtrain

+1

http://stackoverflow.com/questions/15914658/angular-js-how-to-make-ng-repeat-filter-out-duplicate-results – Sajeetharan

उत्तर

18

कोणीयजेएस में डिफ़ॉल्ट रूप से unique फ़िल्टर शामिल नहीं है। आप angular-filter से एक का उपयोग कर सकते हैं। बस जावास्क्रिप्ट

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

शामिल और अपने एप्लिकेशन में dependeny में शामिल हैं:

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

आपका कोड सही दूर काम करना चाहिए! मैंने आपके Plunker संपादित किए हैं, इसलिए यह काम करता है।

3

ताकि आप इसे शामिल करने की ज़रूरत unique फिल्टर आप शायद उपयोग करने के लिए प्रयास कर रहे हैं, AngularUI से आता है:

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

और इसे मॉड्यूल निर्भरता के रूप में जोड़ें:

var app = angular.module('plunker', ['ui.filters']); 
5

मदद मिल सकती है मुझे लगता है कि आप इस

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

ऐसा करने के लिए एक और पैकेज जोड़ने के बजाय ऐसा करना अच्छा है कार्यक्षमता – TheMiddleMan

संबंधित मुद्दे