我有一个 JSON 对象,每个属性都有不同的名称,如下所示:
var definitions = {
foo: {
bar: {abc: '123'},
baz: 'def'
},
qux: {
broom: 'mop',
earth: {
tree: 'leaf',
water: 'fish'
},
fig: {
qwerty: 'olive'
}
},
blix: {
worm: 'dirt',
building: 'street'
}
... more nested objects
};
现在,我正在显示这些数据,如下所示:
<div class="type" ng-repeat="(key,val) in definitions">
<h4 ng-model="collapsed" ng-click="collapsed=!collapsed">{{key}}</h4>
<div ng-show="collapsed">{{val}}</div>
</div>
这是我的控制器:
App.controller('DefinitionsCtrl', function ($scope) {
$scope.definitions = definitions;
});
{{val}}
单击相应的属性时,仅显示属性的压缩字符串{{key}}
。我想val
进一步正确解析该部分,例如foo
的嵌套属性 (bar
和baz
) 将分别有自己的 div。但是,我想对所有嵌套值执行此操作。手动执行此操作不是一种选择(这是一个巨大的文件)。
考虑到所有嵌套名称都不同,这可能吗?我是否必须创建一个自定义过滤器,或者这是我应该在控制器中处理的事情?