【发布时间】:2016-07-09 19:13:25
【问题描述】:
我想使用角度控制器内的过滤器对象过滤对象列表。但它给了我过滤列表。它应该返回第二个对象。
这是我的代码示例
app.controller('MainCtrl', function($scope, $filter) {
$scope.list=[
{
"job_id": 2,
"description": "Bid for Job 2",
"price": 115,
"butler_id": 60,
"butler_name": "Butler Client 1",
"service_price": 500,
"material_price": 900,
"date_created": "23 Apr 1993"
},
{
"job_id": 2,
"description": "sfcs",
"price": 555,
"butler_id": 70,
"butler_name": "Butler Client 2",
"service_price": 666,
"material_price": 666,
"date_created": "23 Apr 1993"
}
];
$scope.filter ={"butler_name":"","service_price":"","material_price":"6","price":"","created_date":"","description":""};
var getFiltered = $filter('filter')($scope.list, $scope.filter);
$scope.filteredBids = getFiltered;
});
【问题讨论】:
-
您想应用哪个过滤器?目前适用于几乎所有属性..
-
你的 plunker 确实有效。例如:
$scope.filter = {butler_name: 'Butler Client 1'}; -
如您所见,在过滤器对象中,某些属性为空,因此如果属性为空,则过滤器不应应用于该属性
-
@mostruash: 不,我不想一个一个传递对象名称,我想将所有过滤器作为对象传递
-
$scope.filter = {butler_name: 'Butler Client 1', job_id: 2};也可以。你可以一起通过所有这些。您的问题可能是您想要链接 OR 过滤器属性,但 Angular 的过滤器链将它们与。
标签: javascript angularjs angularjs-filter