使用动态键值对遍历ng-repeat的子对象

时间:2016-02-18 07:25:47

标签: angularjs angularjs-directive angularjs-scope angularjs-ng-repeat

我有一个JSON对象,我正在迭代这个。

但是,每个迭代对象都有一些子对象,我也需要迭代它们。

JSON结构:

[{
    'name': 'a',
    't1':'v1',
    't2':'v2',
    't3': {
        'c1':'cv1',
        'c2':'cv2',
         ...
    }
}, {
    ...
}]

这个JSON对象有(key,value)对,value可以让它的子节点再次与(key,value)配对。

我想为每个键值对和子键值对创建标签。

1 个答案:

答案 0 :(得分:1)

我不确定你的确切html结构如何。请考虑写一个清除这些方面的好问题。(问题应该包括你的输入数据,预期的输出数据,你尝试过的以及你得到的错误)。

但是我觉得你需要设置这样的东西,其中json是输入的数据结构,我循环内部子对象并打印它们。

<div ng-repeat="parent in json">
      {{parent.name}} - {{parent.t1}} - {{parent.t2}}
      <b>Childrens:</b><br/> 
       <ul>
         <li ng-repeat="child in parent.t3"> 
           {{child.c1}} 
           ...

         </li>
       </ul>
</div>

编辑(如果是动态键值)

如果您的关键值对未知,我会建议您这样做 -

<div ng-repeat="parent in json">   
    <div ng-repeat="(parentkey, parentvalue) in parent">
        {{parentkey}} : {{parentvalue}}
        <b>Childrens :</b></br>
        <li ng-repeat="(k, v) in parentkey"> 
               {{k}} : {{v}} 
               ...

        </li>
    </div>
</div>