Angular:我如何过滤嵌套对象属性?

时间:2015-05-23 10:25:53

标签: arrays angularjs object

现在解决了Plunker: http://plnkr.co/edit/oimkGE83UgPX22E7NXl2?p=preview

如果你有像这样嵌套的对象:

$scope.customer = {
  roomsclean1: {
    "price": 27,
    "title": "Room(s) to clean",
    "area": "6"
  },
  roomsprotect1: {
    "price": 62,
    "title": "Room(s) to protect",
    "area": "0"
  }

}

迭代每个项目并按天气返回每个项目的最佳方法是什么?嵌套关键区域不是零?

显然像{{customer | filter:{area : "!0"} }}之类的东西没有用。

1 个答案:

答案 0 :(得分:2)

filter接受过滤方法作为参数。

你应该这样做:{{customer | filter:myFilter }}

在你的控制器中:

$scope.myFilter = function(element) {
    return element.area !== "0";
}

你的结构很奇怪。您正在使用一个显然应该使用简单列表的对象。