我的范围内有以下内容
items: [
{
id: "0",
name: "כיבוי אורות",
roomId: "0",
type: "scenario",
status: 1
},
{
id: "1",
name: "הדלקת אורות",
roomId: "0",
type: "scenario",
status: 1
},
{
id: "0",
name: "תנור מטבח",
roomId: "0",
type: "heater",
status: 0
}]
我想通过控制器中的id和类型过滤它(而不是通过ng-repeat |过滤器)。
感谢分配
阿维
答案 0 :(得分:1)
如果你想在控制器中按名称和ID进行过滤,你可以使用native filter。查看polyfill以获得对旧版浏览器的支持。
var type = "TypeTOfilter", id=idToFilter;
$scope.items = items.filter(function(itm){ return itm.id === id && itm.type === type });
或者你甚至可以在你的控制器中注入``$ filter`,如果你只是想做一次,而不是在ng-repeat中。
.controller('ctrl', ['$scope', 'filterFilter', function($scope, filter){
//...
$scope.items = filter(items)({type:type, id:id});
//....
}]);
或者你甚至可以做一个for循环过滤掉项目..