Denetleyicimin içinde, bir dizi nesneyi filtrelemek istiyorum. Bu nesnelerin her biri,AngularJS özel filtre işlevi
listelerinin yanı sıra dizeleri içerebilen bir haritadır. $filter('filter')(array, function)
biçimini kullanmayı denedim ancak işlevimin içindeki dizinin tek tek öğelerine nasıl erişeceğimi bilmiyorum. İstediğimi göstermek için bir pasaj.
$filter('filter')(array, function() {
return criteriaMatch(item, criteria);
});
Sonra
criteriaMatch()
yılında, ben bireysel mülkiyetin her
var criteriaMatch = function(item, criteria) {
// go thro each individual property in the item and criteria
// and check if they are equal
}
ben denetleyicisi tüm bu yapmak ve listelerin bir listesini derlemek ve bunları zorunda eşleşirse kontrol edecek kapsamı. Bu yüzden sadece $filter('filter')
numarasına erişmem gerekiyor. Şimdiye kadar ağda bulduğum tüm örnekler, işlevin içinde statik kriterler arar, bir kriter nesnesini geçmezler ve dizideki her bir öğeye karşı test ederler.
Neden bir filtreye ihtiyacınız var? Genellikle filtreler şablonlardan kullanılır. Sadece oradan kullanıyor olmanız durumunda, kontrol cihazınızda sade bir işleviniz olamaz mı? – Ketan
dizinin her elemanını elle geçmektense, sanırım $ filter ('filter') fonksiyonunu açısal fonksiyonunu kullanabileceğimizi düşünmüştüm (bu, eğer sadece predicate fonksiyonunu belirtirsek her elementi tekrarlamakta fayda var) – user2368436