2014-10-28 24 views
5

için kullanın dizisi (birden değerler): Bu iyi çalışırangularjs: Ben angularjs filtre şu var bir filtre

<div ng-repeat="node in data | filter:{parentID:12}"></div> 

(parentId 12 nerede olduğunu, sadece veri almak). Bir sonraki adımda

I (onun çalışmıyor) parentId Aşağıdaki çalışıp 12,13,25 ya da 30

(örneğin) tüm verileri almak isteyen:

filter:{parentID:[12,13,25,30]} 

Açıklandığı gibi bir filtre oluşturmanın herhangi bir yolu var mı?

Çok teşekkür ederim!

+0

olası yinelenen (http [angularjs içinde birden çok değer (OR işlemi) nasıl filtrelenir]: //stackoverflow.com/questions/15868248/how-to-filter-multiple-values-or-operation-in-angularjs) –

cevap

6

Yüklü bir işlev ihtiyaçlarınızı güzelce karşılayacaktır! Gönderen doc: Örneğin

function(value, index): A predicate function can be used to write arbitrary 
filters. The function is called for each element of array. The final result 
is an array of those elements that the predicate returned true for. 

:

<div ng-repeat="node in data | filter:checkParentID"></div> 

Ve denetleyicisi

$scope.checkParentID = function(value, index) { 
    return value.parentID && [12,13,25,30].indexOf(value.parentID) !== -1; 
} 
ait
+0

@Tream Oops, her şeyi karıştırdım. Filtre, filtre gibi görünmelidir: parentFilter. Lütfen morloch'un cevabını kabul edin, çünkü doğru ve benimki değil. – dfsq

+0

Emin değil, yanlış yaptın - benim için çalışıyor. Ama tamam, cevabını kabul ettim. Bana yardım ettiğin için teşekkürler ve teşekkürler! :) – Tream

+0

Biraz karıştırdım. Bu cevap daha iyidir :) Hoşgeldin! – dfsq

İlgili konular