请多多包涵,因为我是Angular JS的新手。我的视图中有一个文本输入框网格,我希望映射到控制器中的2d数组或Java脚本中的2d数组。我认为我的代码是

<div ng-repeat="row in [1,2,3,4,5,6,7,8,9]" class="row">
                <div ng-repeat="column in [1,2,3,4,5,6,7,8,9]" class="col-sm-1 no-padding">
                    <input type="text" class="form-control" ng-model="puzzle.board[row][column]" name="cell[]">
                </div>
</div>


我的控制器类使用以下代码初始化拼图对象

    $scope.puzzle = {};
    $scope.puzzle.dimensions =9;
    $scope.puzzle.board = [$scope.puzzle.dimensions]
    for(var i=0; i<$scope.puzzle.dimensions; i++) {
            $scope.puzzle.board[i] = [$scope.puzzle.dimensions];
    }


但是,当我在输入字段中输入值并在控制台中检查单元格的值时,它仍显示为未定义
我在这里想念什么?

最佳答案

尝试:

  $scope.puzzle.board = [];

  for (var i = 0; i < $scope.puzzle.dimensions; i++) {
    $scope.puzzle.board[i] = [];
    for (var j = 0; j < $scope.puzzle.dimensions; j++) {
      $scope.puzzle.board[i][j] = 0;
    }
  }


并从0开始编号:

<div ng-repeat="row in [0,1,2,3,4,5,6,7,8]" class="row">
    <div ng-repeat="column in [0,1,2,3,4,5,6,7,8]" class="col-sm-1 no-padding">
        <input type="text" class="form-control" ng-model="puzzle.board[row][column]" name="cell[]">
    </div>
</div>

07-24 09:50
查看更多