使用嵌套数据进行Angular ng-repeat的最佳实践

时间:2014-03-26 20:52:18

标签: javascript html angularjs

我承认以下代码非常粗略。任何人都有建议清理它并使其更加可扩展而不使用嵌套表?

<tr data-ng-repeat="data in displayData">
    <td data-ng-show="data.name">
        {{data.name}}
    </td>
    <td data-ng-show="data.cols[0]" data-ng-repeat="value in data.cols[0]"> 
        {{value}}
    </td>
    <td data-ng-show="data.cols[1]" data-ng-repeat="value in data.cols[1]"> 
        {{value}}
    </td>
    <td data-ng-show="data.cols[2]" data-ng-repeat="value in data.cols[2]"> 
        {{value}}
    </td>
    <td data-ng-show="data.cols[3]" data-ng-repeat="value in data.cols[4]"> 
        {{value}}
    </td>
    <td data-ng-show="data.cols[4]" data-ng-repeat="value in data.cols[3]"> 
        {{value}}
    </td>
</tr>

2 个答案:

答案 0 :(得分:4)

我认为这是你想要实现的目标,但通过查看你的代码我并不完全确定。

<tr data-ng-repeat="data in displayData">
    <td data-ng-show="data.name">
        {{data.name}}
    </td>
    <td data-ng-show="column" data-ng-repeat="column in data.cols"> 
        {{ column.value }}
    </td>
</tr>

答案 1 :(得分:0)

我所做的实际上是将data.cols压平到控制器中的一个数组。像这样:

var merged = [].concat.apply([], row.cols);
row.cols = merged;
$scope.displayData.push(row);