我想根據控制器設計一個表。基本上像一個簡單的控制器:使用angularjs修改html表的列數
function Main($scope) {
$scope.row = {
columns: [{
type: 'single',
name: 'col1'
}, {
type: 'double',
name: 'col2'
}]
};
}
我想改變的基於類型的列tr
S中的數目。基本上所需的輸出是:
<table>
<tr>
<!-- for column in columns -->
<!-- If column.type is single have single td -->
<!-- If column.type is double have two td -->
<td>col1</td>
<td>col2</td>
<td>col2</td>
</tr>
</table>
我有一個小提琴,你可以玩:http://jsfiddle.net/basarat/7G6fF/
我一直在使用NG重複,跨度嘗試,但問題是,span
從DOM由去除瀏覽器,因爲它是TR的無效子:
<table>
<tr>
<!-- for column in columns -->
<!-- If column.type is single have single td -->
<!-- If column.type is double have two td -->
<span ng-repeat="column in row.columns">
<span ng-switch="column.type">
<span ng-switch-when="single"><td>{{column.name}}</td></span>
<span ng-switch-when="double"><td>{{column.name}}</td><td>{{column.name}}</td></span>
</span>
</span>
</tr>
</table>
你在這裏呈現的方式(在小提琴中)看起來不像表格數據。你能否詳細說明如果每個表格單元格的數量可能不同,那麼多行將不得不進行交互?(我至少期待在tr上重複ng)。也許解決方案是不使用表? –
@SimonGroenewolt將有一個ng-repeat的'tr's。它是按行排列的,但是我簡化了這個例子,只使用了一個'row'和一個'tr'來隱藏複雜度 – basarat
ok,理解。但是,如果每行數據可能不同,爲什麼還要使用表格呢? –