如何使用ng-repeat根据条件访问对象的对象

时间:2016-12-27 13:57:31

标签: angularjs

我有一个具有这种结构的对象:

sample_object{
   {  
      Parent_node1{
            {
                child_node1{bool:true,xyz:abc},
                child_node2{bool:false,xyz:abc},
                child_node3{bool:true,xyz:abc}
            }
          },
      Parent_node2{
                 {
                child_node1{bool:true,xyz:abc},
                child_node2{bool:false,xyz:abc},
                child_node3{bool:true,xyz:abc}
            }
          },
      Parent_node3{'similar structure'}
   }

}

我想使用ng-repeat显示类似的东西: -

Parent_node:child_node1,child_node2,child_node3

只显示bool值为true的那些child_nodes;和parent_node不应显示任何子项没有真正的bool值。 任何事都困惑。任何见解都很有帮助

2 个答案:

答案 0 :(得分:1)

ng-repeat指令与(key,value)一起使用,因为据我所知,你必须迭代一个对象而不是一个数组。

您的代码应如下所示:

<div ng-repeat="(keyParent, parent) in sample_object" >
    <div ng-repeat="(keyChild, child) in parent">
        <div ng-if="child.bool">
               {{child.xyz}} 
        </div>
    </div>    
</div>

答案 1 :(得分:1)

<div ng-repeat="(keyParent, parent) in sample_object" >
    <div ng-repeat="(keyChild, child) in parent">
        <p ng-if="child.bool">
               {{child.xyz}} 
        </p>
    </div>    
</div>

<tr ng-repeat="sample in sample_object">
    <td ng-repeat="keys in sample">
        {{keys.xyz}}
    </td>   
</tr>