我正在尝试将过滤器应用于JSON对象而没有太多运气。
数据结构如下:
$scope.jsonObj = {
someid8979: {
name: "Bill",
age: 18
},
someid987: {
name: "Ted",
age: 17
}
}
在我的HTML中,类似这样的内容:
<input ng-model="search">
<div ng-repeat="(key,val) in jsonObj | filter:search">
{{key}} - {{val.name}} - {{val.age}}
</div>
在过去,我总是将数据作为一个对象数组发送出去,事实上,如果我在这里做到这一点它会起作用,但由于应用程序的性质,这是不可能的,因为我需要在代码的其他地方按名称(id)引用对象的属性。
有没有办法将过滤器应用于类似于此的JSON对象?
我可以创建一个单独的数组,仅用于过滤目的,并将JSON对象作为其他操作的目标,但我宁愿不这样做:)
编辑:我将对象复制为数组并循环显示,允许过滤。这解决了我的问题,但不是我希望的方式。可能够好。
答案 0 :(得分:0)
您可以将比较器功能放在控制器中,就像在这个探测器中一样: