我想將過濾器應用於JSON對象,但沒有多少運氣。AngularJS過濾器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對象,但我寧願不:)
編輯:我做了對象的副本作爲陣列循環,這允許過濾。這解決了我的問題,但不是我希望的方式。可能夠好。
http://stackoverflow.com/questions/13887504/filtering-on-object-map-rather-than- array-in-angularjs – PSL
是的,正如我所說的,它可以用一個數組來完成,我只是想知道是否可以用一個對象。謝謝,不過。 – Jazzy
https://github.com/angular/angular.js/blob/master/src/ng/filter/filter.js#L118所以'filter'只適用於數組。 – dfsq