对多维数组使用角度ng-repeat

时间:2016-09-21 16:44:57

标签: javascript angularjs arrays angularjs-ng-repeat

我正在开发一款游戏,我正在尝试使用NG重复动态添加div,具体取决于后者和单词的数量。所以,例如,如果游戏中的一个任务的答案是“干净的工作表”,那么我希望NG-Repeat能够制作正确数量的列,以便它会说__ __ __ __ __ space __ __ __ __ __然后用户可以填补他们。我现在写这个:

try{
//in this example presume $stateParams.answer is "clean sheet"

var answerArr = $stateParams.answer.toString().split(' ');
var finalLines = "";
$scope.mainWordHolder = [];

angular.forEach(answerArr, function(value, key) {
     var amt = value.length;

     $scope.amtofLetters=[];
      for (var i=0; i<amt; i++) {
          $scope.amtofLetters.push(i);
      }
      $scope.mainWordHolder.push($scope.amtofLetters);
      $scope.amtofLetters = [];
});

console.log($scope.mainWordHolder);
}catch(e){console.log("error : "+ e);}

此时我的$ scope.mainWordHolder是:

[ [ 0, 1, 2, 3, 4 ], [ 0, 1, 2, 3, 4 ] ]

这正是我想要的,所以我知道每个单词需要多少个字母。如何使用ng-repeat将其显示为div,以便我可以创建键盘,用户可以像其他热门游戏一样输入键。

我试过这个:

<div class="row">
<div ng-repeat="content in answerArr" class="col"> 
       <div ng-repeat="contentt in mainWordHolder" class="col">

      </div>   
</div>
</div>

但由于某种原因我什么都没得到。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:2)

您似乎试图在answerArr中引用ng-repeat,但answerArr未存储在范围内。

当您使用ng-repeat="content in answerArr"时,answerArr需要存储在可在HTML中访问的范围内。

尝试在您的示波器上存储answerArr,以便能够通过ng-repeat访问其内容。

答案 1 :(得分:0)

您需要遍历内容&#39;它表示整个数组中的数组(外部)。试试这个:

<div class="row">
<div ng-repeat="content in answerArr" class="col"> 
       <div ng-repeat="contentt in content" class="col">

      </div>   
</div>
</div>