2013-02-12 39 views
12

मैं एनजी-दोहराने में आइटम फिल्टर करने के लिए इतना है कि केवल आइटम जो alreadyAddedValues ​​में प्रकट नहीं() सरणी दिखाया जाएगा की जरूरत है:Angular.js: सरणी में फिल्टर एनजी-दोहराने अनुपस्थिति से

<ul class="dropdown-menu"> 
    <li ng-repeat="v in values() | filter: { ????? } ">{{value.name}}</li> 
</ul> 

$scope.values() = function(){ 
    ................ 
} 

$scope.alreadyAddedValues() = function() 
{ 
    //returns an array 
} 

खोज

<li ng-repeat="v in values() | filter:filterAlreadyAdded ">{{value.name}}</li> 

नियंत्रक पर:: के एक पहले से ही जोड़ा मूल्य द्वारा value.shortName

उत्तर

30

प्रदर्शन करना चाहिए तुम्हें पता है, उदाहरण के लिए, एक कस्टम समारोह छानने करने के लिए उपयोग कर सकते हैं

$scope.filterAlreadyAdded = function(item) { 
    // filter logic here... 
    // return false if item already added, true otherwise 
}; 

jsfiddle: http://jsfiddle.net/bmleite/5VbCJ/

+3

मैं इसे थोड़ा अधिक सामान्य बनाने के लिए पहले से ही जोड़ा मूल्यों की सरणी पारित पारित करने के लिए एक वैकल्पिक बेला बना दिया। यहां स्थित http://jsfiddle.net/4MBbw/ –