Итерация 2D массива в угловых js

0

У меня есть следующий массив, объявленный в моем 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. Как я могу решить эту проблему?

  • 0
    <div ng-repeat = "row in tempArr"> <div ng-repeat = "col в дорожке строки по $ index"> <input type = "text" value = "{{col}}"> </ div> < Вот так и должно быть
Теги:
arrays

2 ответа

2

вставьте ng-repeat так,

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

или вы можете сгладить массив 2d до одного нового массива и использовать один ng-repeat

1

Получите вложенные ng-повторы для глубокого перемещения массивов следующим образом:

<div ng-repeat="row in tempArr">
    <div ng-repeat="col in row">
        <input type="text" value="{{col}}">
    </div>
</div>
  • 0
    Извините за последний пост. Это абсолютно идеально.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню