javascript - ng-model 与二维数组绑定(bind)

标签 javascript arrays angularjs

请耐心等待,因为我是 Angular JS 的新手。我的 View 中有一个文本输入框网格,我希望将其映射到 Controller 中的二维数组或 java 脚本中的奇怪等效项。我认为我的代码是

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

我的 Controller 类使用以下代码来初始化拼图对象

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

关于javascript - ng-model 与二维数组绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34474856/

相关文章:

javascript - 为什么从 const 结果中返回 **element** 作为错误?

javascript - throttle 不调用最后一个 throttle 参数

javascript - 在 python3 中使用 webbrowser 播放 YouTube 视频

python - 结合 scipy.optimize.brute 网格和结果

javascript - AngularJS 在运行函数中访问 $stateParams

angularjs - 通过最新输入加载 json - Angularjs

javascript - (函数(){}) vs 函数(){}();

c++ - 数组循环不能正常工作? C++

javascript - AngularJS:在 rootScope 上广播/发出的事件多次发生

c - 将数组索引映射到矩阵