在角度js

时间:2015-11-02 06:40:22

标签: javascript arrays angularjs

我在js文件中声明了以下数组

var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
    $scope.name = 'Superhero';
    $scope.tempArr = [
      ["block A1", "block B1", "block C1"],
      ["block A2", "block B2", "block C2"]
    ];
}

现在在角度我想迭代这个数组并打印结果如

block A1 block B1 block C1
block A2 block B2 block C2

我以前使用打印:

<div ng-controller="MyCtrl">
 <div>
  <div ng-repeat="row in tempArr">
      <input type="text" value="{{row[$index]}}">
      <input type="text" value="{{row[$index+1]}}">
      <input type="text" value="{{row[$index+2]}}">
  </div>
 </div>
</div>

但它不会打印块A2。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

将您的ng-repeat嵌套为

<div ng-repeat="row in data">
    <div ng-repeat="col in row">
        // do stuff here
    </div>
</div>

或者您可以将2d数组展平为一个新数组并使用一个ng-repeat

答案 1 :(得分:1)

获取嵌套的ng-repeats以深入遍历您的数组:

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