Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用嵌套数据进行角度ng重复的最佳实践_Javascript_Html_Angularjs - Fatal编程技术网

Javascript 使用嵌套数据进行角度ng重复的最佳实践

Javascript 使用嵌套数据进行角度ng重复的最佳实践,javascript,html,angularjs,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]

我承认下面的代码看起来很恶心。有没有人建议在不使用嵌套表的情况下对其进行清理并使其更具可伸缩性

<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>

{{data.name}
{{value}}
{{value}}
{{value}}
{{value}}
{{value}}

我认为这就是您试图实现的目标,但通过查看您的代码,我不能完全确定

<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>

{{data.name}
{{column.value}}

我认为这就是您试图实现的目标,但通过查看您的代码,我不能完全确定

<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>

{{data.name}
{{column.value}}

我实际上是将data.cols展平到控制器中的一个数组中。大概是这样的:

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

我实际上是将data.cols展平到控制器中的一个数组中。大概是这样的:

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