我正在测试$ filter功能,我还没有使用过它,有人能说出问题是什么,为什么它会过滤掉对象。
这是jsfiddle
var app = angular.module('myApp', []);
function ctrl($scope, $filter) {
$scope.images = [{
orgName: 'B',
sortOrder: 111
}, {
orgName: 'A',
sortOrder: 12
}, {
orgName: 'D',
sortOrder: 13
}, {
orgName: 'C',
sortOrder: 14
}];
$scope.filter = function () {
$scope.images = $filter('filter')($scope.images, 'orgName');
}
}
答案 0 :(得分:0)
我也更改了HTML,现在是链接(将orgName作为参数传递):
<a href="" ng-click="filter(image.orgName)">{{image.orgName}}</a>
现在,过滤器将orgname作为参数获取,并具有比较功能:
var app = angular.module('myApp', []);
function ctrl($scope, $filter) {
$scope.images = [{
orgName: 'B',
sortOrder: 111
}, {
orgName: 'A',
sortOrder: 12
}, {
orgName: 'D',
sortOrder: 13
}, {
orgName: 'C',
sortOrder: 14
}];
$scope.filter = function (orgName) {
$scope.images = $filter('filter')($scope.images, {'orgName': orgName});
}
}
你可能想要考虑列表的两个列表,或者一旦你过滤掉你就永远丢失了所有其他元素。例如,像displayImages,allImages这样的东西。
另一个jsFiddle有两个列表,正如我上面说的那样重置。