2016-04-20 37 views
1

我有一个角度的工厂,将从数据库中检索所有数据作为JSON数据如下。Angularjs过滤器Json数据

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

我如何才能筛选,可以说与part_no : aaa只有descr:aaa123记录?

可能像$scope.data = data | filter:part_no:aaa;

+1

你想预过滤工厂的结果,或过滤器它在'重复'?我想你会在这里找到答案: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>