2016-04-20 11 views
1

私は、以下のようにデータベースからすべてのデータをJSONデータとして取り出すファクトリを持っています。Angularjs Filter Json Data

[{"part_no":"aaa","descr":"aaa123"},{"part_no":"bbb","descr":"bbb123"},{"part_no":"ccc","descr":"ccc123"},{"part_no":"ddd","descr":"ddd123"}] 

私はちょうど、part_no : aaadescr:aaa123のみでレコードを言うことができますフィルタリングすることができますどのように?

多分$scope.data = data | filter:part_no:aaa;

+1

あなたは工場、またはフィルタで結果をプレフィルタしますかそれは 'ng-repeat'ですか?私はあなたがここで答えを見つけると思います:http://stackoverflow.com/questions/14302267/how-to-use-a-filter-in-a-controller – akn

+1

リンクのおかげで、私はfilterFilter組み込み関数を使用して終了しました –

答えて

1

のようなものがここにはJavaScript内およびビュー内の両方のフィルタ処理する方法の例です:

var app = angular.module('myapp', []); 
 
app.controller('myctrl', function($scope) { 
 
    $scope.data = [{"part_no":"aaa","descr":"aaa123"},{"part_no":"bbb","descr":"bbb123"},{"part_no":"ccc","descr":"ccc123"},{"part_no":"ddd","descr":"ddd123"}]; 
 

 
    $scope.filteredData = $scope.data.filter(function(d) { 
 
    return d.part_no === 'aaa' && d.descr === 'aaa123' 
 
    }); 
 

 
});
.section { 
 
    margin-bottom: 20px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myapp" ng-controller="myctrl"> 
 
    <div class="section"> 
 
    <h3>unfiltered data:</h3> 
 
    <div ng-repeat="item in data">Part: {{item.part_no}}, Description: {{item.descr}}</div> 
 
    </div> 
 
    <div class="section"> 
 
    <h3>pre-filtered data in JavaScript:</h3> 
 
    <div ng-repeat="item in filteredData">Part: {{item.part_no}}, Description: {{item.descr}}</div> 
 
    </div> 
 
    <div class="section"> 
 
    <h3>filtered data in view:</h3> 
 
    <input ng-model="partFilter" placeholder="part filter" /> 
 
    <input ng-model="descrFilter" placeholder="description filter" /> 
 
    <div ng-repeat="item in data | filter:{part_no: partFilter, descr: descrFilter}">Part: {{item.part_no}}, Description: {{item.descr}}</div> 
 
    </div> 
 
</div>