if $scope.val =3 then 运行 使用 ng-repeat 循环 3 次

if $scope.val =3 then run the loop for 3 times using ng-repeat

I have a scenario in application, where i have to run the loop (ng-repeat) no of times based on a parameter set. For Example:-

 $scope.rating = 3;

then run the loop (using ng-repeat) for 3 times.

你可以像这样通过嵌套的 ng-repeat 来做到这一点:

在控制器中

var rating = [3];
//u can set it dynamically too {var rating = [req.body.rating]}
//erq.body.rating is getting value from text/input box
$scope.rating = rating;

在HTML

<div ng-repeat = i in rating>
  <div ng-repeat = ____></div>  // this ng-repeat will run based on rating value
</div>

下面是你控制器中的代码..

$scope.rating = 3;
$scope.getRating = function(rate) {
    return new Array(rate);   
}

下面是您的模板。

  <div ng-repeat="i in getRating(rating) track by $index">
    <input type="text" name="txt" value="{{$index}}"/>
 </div>

我认为这是更简洁、更短的方式

var app = angular.module('app', []);
 
    app.controller('Ctrl', function($scope) {

      $scope.counter = 2; 
      $scope.generateFields = function(count) {
       return new Array(count);   
      }
     

    });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="Ctrl">
   
  Insert Number To Generate Fields:
  <input type='number' ng-model='counter'/>
  <hr>
  <div ng-repeat="i in generateFields(counter) track by $index">
    <input type="text" name="txt" value="Input Field {{$index}}"/>
 </div>
</div>