0

我搜索了一下,发现了许多类似的东西,但似乎没有一个能回答我的问题:

我正在使用 AngularJS 创建一个电子表格,这是我根据本教程完成的,从那里我一直在尝试更改代码以满足我的需要。

我正在尝试用二维数组中的不同值填充单元格,如下所示:

[
    ["block A1", "block B1", "block C1"],
    ["block A2", "block B2", "block C2"]
]

我希望这些字符串通过<input value=""> 标签填写它们各自的单元格。我将如何使用ng-repeat(或任何其他适用的)来访问二维数组的内部元素?

这是我当前的代码:

sheet= function($scope, $parse){
    $scope.columns = headerRow2;
    $scope.rows = numOfRows;
    $scope.cells = {};
    $scope.values = filteredResults;

    //... 
}


<div ng-app ng-controller="sheet">
    <table>
        <tr class="column-label">
            <td></td>
            <td ng-repeat="column in columns">{{column}}</td>
        </tr>
      <tr ng-repeat="row in rows">
            <td class="row-label">{{row}}</td>
            <td ng-repeat="column in columns">
                <div>
                    <input ng-repeat="subvalues in values[$index]" value="{{subvalues}}">
                </div>
            </td>
        </tr>
    </table>
</div>

我正在寻找内联双循环类型的交易。

编辑:我刚刚尝试了 flim 的建议,虽然这是我需要的关于双循环的内容,但我的每个输入框只保存块 C2 的值(最后一个数组中的最后一个索引)。由于我的输入框被限制在<td>标签内,我的印象是重复工作,但是它每次都在同一个重复<td>,导致它自己覆盖并工作到最后,直到它移动到下一个<td>区块。任何线索如何阻止这种情况?看起来这只是我放置重复函数的位置的问题,但这几乎让我回到了我的第一个问题。

4

1 回答 1

1

这是我为真正快速测试而拼凑的一些代码:

在控制器中,我有

$scope.tempArr = [
  ["block A1", "block B1", "block C1"],
  ["block A2", "block B2", "block C2"]
];

在我的 html 中,我有:

<span ng-repeat="row in tempArr">
  <span ng-repeat="cell in row">
    <input type="text" value="{{cell}}">
  </span>
</span>

推断您自己的格式。

这是jsfiddle另一个与桌子。

于 2013-06-25T19:38:27.620 回答