1

私のリストをそのタイトルだけでフィルタリングする方法が見つかりません。Angularjs特定の要素でフィルタ

私のリストには、このようなオブジェクトで作られた配列である:

{ 
    "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" 
} 

私も私のhtmlファイル内

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

を入力フィールドを持っている。この分野は私のコントローラ

に監視されています
$scope.$watch('search.title', function(val) { 
     $log.log($filter('filter')(vm.posts, val)); 
    }); 

これは、私がvm.posts(私が上で述べたオブジェクトの私のリスト)をフィルタリングしたいところです。そのタイトルによってy。代わりに、オブジェクト全体(bodytitle部分)でフィルタリングされます。私はフィルターでhtmlファイルでそれを行う方法を知っています:検索、しかし、私はコントローラーの中でこれを行う方法がありません。

答えて

1

それは2つの方法

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

OR

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

驚くばかりで行うことができます!まさに私が探していたもの。 '{title:val}'は魅力的に機能します。それについて考えなかったし、インターネット全体を検索した...大きな感謝! – NotAJohnDoe

+0

@NotAJohnDoe np。あなたを助けてうれしい。ありがとう:-) –

関連する問題