У меня есть сценарий в приложении, где мне нужно запустить цикл (ng-repeat), не раз на основе параметра задавать. Для примера: -
$scope.rating = 3;
затем запустить цикл (с использованием нг-повтор) в 3 раза.
У меня есть сценарий в приложении, где мне нужно запустить цикл (ng-repeat), не раз на основе параметра задавать. Для примера: -
$scope.rating = 3;
затем запустить цикл (с использованием нг-повтор) в 3 раза.
Ниже будет код в ваш контроллер ..
$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>
Пожалуйста, отметьте ответ, если это сработает для вас .. :) –
Извините! Не работает. На основе целочисленного значения мне нужно создать поля ввода. IF a = 5 затем генерирует 5 полей ввода. –
Я устанавливаю ваше целочисленное значение в $ scope.rating и генерирует 3 текстовых поля. –
Вы можете сделать это с помощью вложенной нг-повтора, используя так:
В контроллере
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>
Я думаю, что это чище и короче путь
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>
Это не то, что я хочу. На основе целочисленного значения мне нужно создать поля ввода. IF a = 5 затем генерирует 5 полей ввода. –
просто просмотрите обновленный anser и запустите код теперь, его динамически генерирующие поля ввода с введенными данными –
нг-повтор работы с коллекцией пункт .. пожалуйста, вы можете предоставить тот же .. мы можем поставить условие, подобное ng-if = $ index <$ scope.val, чтобы ограничить итерацию. –
@NimeshKumar. Ситуация похожа на то, что на основе целочисленного значения I hve для генерации тега ввода html –
дубликат http://stackoverflow.com/questions/16824853/way-to-ng-repeat-defined-number-of-times -вместо повтора-над-массивом –