1

Listemi yalnızca başlığına göre filtrelemenin bir yolunu bulamıyorum.Angularjs belirli bir öğeye göre filtrele

Listem böyle nesnelerin yapılmış bir dizidir:

{ 
    "userId": 1, 
    "id": 1, 
    "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit", 
    "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto" 
} 

Ben de Bu alan benim denetleyicisi izleniyor

<input type="search" id="search" class="form-control" ng-model="search.title" placeholder="Search by title"> 

benim html dosyası içinde bir giriş alanı var

$scope.$watch('search.title', function(val) { 
     $log.log($filter('filter')(vm.posts, val)); 
    }); 

Ve buradaki vm.posts'umu filtrelemek istiyorum (yukarıda bahsettiğim nesneler listem) onl başlığına göre. Bunun yerine, body ve title bölümünün tüm nesnesi tarafından filtrelenir. Filtreye göre html dosyasında nasıl yapılacağını biliyorum: arama, ama bunu bir denetleyicide nasıl yapacağımı bilmiyorum.

cevap

1

O

$scope.$watch('search.title', function(val) { 
    $log.log($filter('filter')(vm.posts, $scope.search); 
}); 

VEYA

$scope.$watch('search.title', function(val) { 
    $log.log($filter('filter')(vm.posts, {title: val}); 
}); 
+0

Müthiş iki şekilde yapılabilir! Tam olarak aradığım şey. '{Title: val}', bir çekicilik gibi çalışır. Bunun hakkında düşünmedim ve bunun için tüm internet arandı ... Büyük teşekkürler! – NotAJohnDoe

+0

@NotAJohnDoe np. Size yardımcı olmaktan memnun oldum. Teşekkürler :-) –

İlgili konular