я хочу зациклить ng-параметры в 50 раз, как я могу это сделать - PullRequest
0 голосов
/ 14 мая 2018
<select  ng-model="test" ng-init="test = '1'">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    ............................
    ............................
    ............................
    <option value="48">48</option>
    <option value="49">49</option>
    <option value="50">50</option>
</select>

Я пробовал что-то вроде этого мне нужно в этом формате:

<select 
ng-model="test" 
ng-options="1 as One"
ng-init="test = '1'"
range="50"
>
</select>

Как я могу сделать это как для цикла в angularjs ng-options, я хочу зациклить ng-параметры в 50 раз, как я могу это сделать

Ответы [ 3 ]

0 голосов
/ 14 мая 2018

Вы можете использовать ng-repeat и передать в массив от 1 до 50.

<option ng-repeat="i in myArray"></option>
0 голосов
/ 14 мая 2018

Вы можете сделать, как показано ниже:

   <select  ng-model="test" ng-init="test = '1'">
        <option ng-repeat="number in getLoop()" ng-value="{{$index+1}}">{{$index+1}}</option>
    </select>

И в вашем контроллере добавьте следующее:

$scope.loopSize= 5;
$scope.getLoop= function() {
    return new Array($scope.loopSize);   
}
0 голосов
/ 14 мая 2018

ng-repeat или ng-options не являются циклами foreach. Они принимают массив, а не диапазон для ввода. Поэтому инициализируйте массив в контроллере и передайте его туда в качестве параметра:

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    // use your favourite filling method
    $scope.array = Array(50).fill().map((e,i)=>i+1);
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>

<div ng-app="myApp" ng-controller="myCtrl">

<select ng-init="test=1" ng-model="test" ng-options="x for x in array">
</select>
{{test}}

</div>
...