我有一个角度的工厂,它将从数据库中检索所有数据,如下面的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;
答案 0 :(得分: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>