如何通过硬编码值而不是传递数组来运行ng-repeat

时间:2017-07-04 13:13:02

标签: javascript angularjs arrays typescript

我想通过硬编码手动运行ng-repeat。我不想传递array参数。我试过下面的代码,但它不起作用!

<h1 ng-repeat="x in 20">{{sumofTwendy(($index}})</h1>
  

所以我计划在controller中创建一个虚拟数组,并为该数组的长度赋值20。然后我在'ng-repeat上传递数组。

   $scope.data=[];
   $scope.data.length=20;
   <h1 ng-repeat="x in data">{{sumofTwendy(($index}})</h1>

这也不起作用:(。

  

如何在不传递数组值的情况下仅运行ng-repeat 20次?

让我知道解决方案,如果它是角1还是角2?

2 个答案:

答案 0 :(得分:0)

只需创建长度为20的数组:

new Array(20);

答案 1 :(得分:0)

是的,您可以通过将变量传递给函数并生成新数组来实现,

var myApp=angular.module('myApp',[]);

myApp.controller('thecontroller',function($scope){
$scope.getNumber = function(num) {
    return new Array(num);   
}
});
<!DOCTYPE html>
<html>
    <head>
        <title>ng-Messages Service</title>
        <script src='https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js'></script>
        <script src='https://code.angularjs.org/1.5.0-rc.0/angular.min.js'></script>     
    </head>
    <body ng-app="myApp">

        <div ng-controller='thecontroller'>
    <ul>
    <li ng-repeat="i in getNumber(20) track by $index"><span>{{$index+1}}</span></li>
</ul>
        </div>
    </body>
</html>