嵌套的ng-repeat,一个依赖于另一个

时间:2016-10-19 10:22:03

标签: javascript angularjs datatables angularjs-ng-repeat

我有角度问题,我想在数据表中使用两个嵌套的ng-repeat,第一个获取数据,第二个获取要从数据中检索的字段的名称(在第一个ng中检索) -repeat)
这是我尝试用代码做的事情:

<table md-table flex-order-gt-sm >
  <thead md-head>
    <tr md-row >
   //1st : get the name of fields, not a problem
        <th md-column ng-repeat="field in fields">{{item.name}}</th>
            </tr>
    </thead>
    <tbody md-body>
       <tr md-row ng-repeat="item in items">
            <td md-cell ng-repeat="field in fields" >
   //here is the problem I want to get the item that it's field name is field
                     {{item.{{field}} }}</td>
                </tr>
            </tbody>
        </table>

例如,如果字段包含:{&#39; a&#39;,&#39; b&#39;,&#39; c&#39;} 和项目包含{&#39;&#39;:&#39; 1&#39;&#39;&#39;&#39; 2&#39;&#39; c&#39;:& #39; 3&#39;};
我希望例如{{item。{{field}}}}的第一次迭代返回1

3 个答案:

答案 0 :(得分:2)

使用toString()来取消范围对象中的范围数据。

<tr md-row ng-repeat="item in items">
    <td md-cell ng-repeat="field in fields" >
        {{item[field.toString()]}}
    </td>
</tr>

HEre is the plunker

答案 1 :(得分:0)

作为替代方案,您还可以使用过滤器:

<td md-cell ng-repeat="field in fields | filter: { name: 'field' }">                
</td>

答案 2 :(得分:0)

您需要根据项目集合后的字段集合

getFieldsByItem(项目)

然后你可以从字段集合中获取字段 {{field}}