For 루프는 대한 지원을 통해 각 높여줍니까 일부 숫자를 사용하여 해당 HTML 내에서 디렉티브에는:
<div data-ng-repeat="i in [1,2,3,4,5]">
do something
</div>
하지만 수 있는 동적 범위 dm_ownerdm_owner 유효범위 가변으로 경우 그 때마다 빈 어레이입니다 만들어야 합니다.
Config. 컨트롤러거
var range = [];
for(var i=0;i<total;i++) {
range.push(i);
}
$scope.range = range;
Html 에서
<div data-ng-repeat="i in range">
do something
</div>
이 기능은 # 39, 불필요한 것은 아니므로 won& maxvalorarray 어레이입니다 루프지 내의 전혀 사용할 수 없다. 범위 설정 또는 정기 최소 / 최대 가치를 아는 사람?
다음과 같은 항목을
<div data-ng-repeat="i in 1 .. 100">
do something
</div>
내가 조금 지었지 면변형된 이 오토메이티드 및 [이 바이올린] [2].
거르개 다음과 같이 정의된다.
var myApp = angular.module('myApp', []);
myApp.filter('range', function() {
return function(input, total) {
total = parseInt(total);
for (var i=0; i<total; i++) {
input.push(i);
}
return input;
};
});
반복하십시오 다음과 같이 사용할 수 있는
<div ng-repeat="n in [] | range:100">
do something
</div>
I came up with 짝수 간단해진다는 사거리 만들기 위해 두가지 버전 번호, eg. 5 15
[지켜보리니 이스피들 데모] [1]
<ul>
<li ng-repeat="n in range(5,15)">Number {{n}}</li>
</ul>
$scope.range = function(min, max, step) {
step = step || 1;
var input = [];
for (var i = min; i <= max; i += step) {
input.push(i);
}
return input;
};
내가 내게 있는 약간 다른 구문을 지었지 소송 및 선택적 하한을 자도으로 조금 더 잘 알려져 있다.
myApp.filter('makeRange', function() {
return function(input) {
var lowBound, highBound;
switch (input.length) {
case 1:
lowBound = 0;
highBound = parseInt(input[0]) - 1;
break;
case 2:
lowBound = parseInt(input[0]);
highBound = parseInt(input[1]);
break;
default:
return input;
}
var result = [];
for (var i = lowBound; i <= highBound; i++)
result.push(i);
return result;
};
});
으로 사용할 수 있는
<div ng-repeat="n in [10] | makeRange">Do something 0..9: {{n}}</div>
또는
<div ng-repeat="n in [20, 29] | makeRange">Do something 20..29: {{n}}</div>
새로운 사람들을 위해 앙굴라이스. 수 사용하여 색인 된 $ 색인입니다.
예를 들면 다음과 같습니다.
<div ng-repeat="n in [] | range:10">
do something number {{$index}}
</div>
뭔가 번호임 0< br />; 뭔가 번호임 1< br />; 뭔가 번호임 2< br />; 뭔가 번호임 3< br />; 뭔가 번호임 4< br />; 뭔가 번호임 5< br />; 뭔가 번호임 6< br />; 뭔가 번호임 7< br />; 뭔가 번호임 8< br />; 뭔가 9 번
이렇게 간단한 방법을 사용하도록 약간만이라도 Underscore.js& # 39 의 _.range () 메서드입니다. )
// declare in your controller or wrap _.range in a function that returns a dynamic range.
var range = _.range(1, 11);
// val will be each number in the array not the index.
<div ng-repeat='val in range'>
{{ $index }}: {{ val }}
</div>
내가 사용하는 사용자 정의 '' 내 ng 반복하십시오 범위 디렉티브을:
/**
* Ng-Repeat implementation working with number ranges.
*
* @author Umed Khudoiberdiev
*/
angular.module('commonsMain').directive('ngRepeatRange', ['$compile', function ($compile) {
return {
replace: true,
scope: { from: '=', to: '=', step: '=' },
link: function (scope, element, attrs) {
// returns an array with the range of numbers
// you can use _.range instead if you use underscore
function range(from, to, step) {
var array = [];
while (from + step <= to)
array[array.length] = from += step;
return array;
}
// prepare range options
var from = scope.from || 0;
var step = scope.step || 1;
var to = scope.to || attrs.ngRepeatRange;
// get range of numbers, convert to the string and add ng-repeat
var rangeString = range(from, to + 1, step).join(',');
angular.element(element).attr('ng-repeat', 'n in [' + rangeString + ']');
angular.element(element).removeAttr('ng-repeat-range');
$compile(element)(scope);
}
};
}]);
그리고 html 코드가
<div ng-repeat-range from="0" to="20" step="5">
Hello 4 times!
</div>
또는 단순히
<div ng-repeat-range from="5" to="10">
Hello 5 times!
</div>
심지어 앨리어스가
<div ng-repeat-range to="3">
Hello 3 times!
</div>
스피커에만
<div ng-repeat-range="7">
Hello 7 times!
</div>
아래 코드는 eventtest 메서드입니다 '애플리케이션' 미야프 전체 범위를 사용할 수 있는 범위 () ''. 파이썬 등 매우 유사한 행동 ['범위 ()'] [1] 메서드입니다.
angular.module('MyApp').run(['$rootScope', function($rootScope) {
$rootScope.range = function(min, max, step) {
// parameters validation for method overloading
if (max == undefined) {
max = min;
min = 0;
}
step = Math.abs(step) || 1;
if (min > max) {
step = -step;
}
// building the array
var output = [];
for (var value=min; value<max; value+=step) {
output.push(value);
}
// returning the generated array
return output;
};
}]);
한 매개변수입니다:
<span ng-repeat="i in range(3)">{{ i }}, </span>
'0, 1, 2,'
두 개의 매개변수:
<span ng-repeat="i in range(1, 5)">{{ i }}, </span>
'1, 2, 3, 4,'
세 개의 매개변수입니다:
<span ng-repeat="i in range(-2, .7, .5)">{{ i }}, </span>
-2, 1.5, - 1, 0, 0.5 - 0.5, ','
$scope.range = new Array(MAX_REPEATS); // MAX_REPEATS should be the most repetitions you will ever need in a single ng-repeat
<div data-ng-repeat="i in range.slice(0,myCount) track by $index"></div>
자와히리 미카운트 '는' 이 위치에 있는 별들의 수와 표시되는지를.
'모든' $ 인덱스화할 추적 작업에 사용할 수 있습니다. E. g. 인쇄하려면 div 에 '다음' 의 일부 돌연변이 인덱스화하여 동일팔레트에 수 있습니다.
{{ ($index + 1) * 0.5 }}
아아아안녀어엉 앙굴라이스 사용하여 순수 html 을 사용하여 이 얻을 수 있습니다 (NO 디렉티브을 필요합니다!)
<div ng-app="myapp" ng-controller="YourCtrl" ng-init="x=[5];">
<div ng-if="i>0" ng-repeat="i in x">
<!-- this content will repeat for 5 times. -->
<table class="table table-striped">
<tr ng-repeat="person in people">
<td>{{ person.first + ' ' + person.last }}</td>
</tr>
</table>
<p ng-init="x.push(i-1)"></p>
</div>
</div>
app.filter('makeRange', function() {
return function(inp) {
var range = [+inp[1] && +inp[0] || 0, +inp[1] || +inp[0]];
var min = Math.min(range[0], range[1]);
var max = Math.max(range[0], range[1]);
var result = [];
for (var i = min; i <= max; i++) result.push(i);
if (range[0] > range[1]) result.reverse();
return result;
};
});
사용
<span ng-repeat="n in [3, -3] | makeRange" ng-bind="n"></span>
3 2 1 0 - 1-2
<span ng-repeat="n in [-3, 3] | makeRange" ng-bind="n"></span>
0 1 2 3 - 3-2
14 438 {{{000}}} 0 3 1 2
<span ng-repeat="n in [-3] | makeRange" ng-bind="n"></span>
var range = [];
for(var i=20;i<=70;i++) {
range.push(i);
}
$scope.driverAges = range;
<select type="text" class="form-control" name="driver_age" id="driver_age">
<option ng-repeat="age in driverAges" value="{{age}}">{{age}}</option>
</select>
늦게 했다. 하지만 난 그냥 이렇게 하면 됐지.
In your 컨트롤러거:
$scope.repeater = function (range) {
var arr = [];
for (var i = 0; i < range; i++) {
arr.push(i);
}
return arr;
}
Html:
<select ng-model="myRange">
<option>3</option>
<option>5</option>
</select>
<div ng-repeat="i in repeater(myRange)"></div>
이는 jzm& # 39 의 향산된 오토메이티드 (잠이 꼭 이래야겠어요 주석문입니다 포함되어 있기 때문에 다른 주석문입니다 그녀의 / s / 그는 그의 답변은 오류). 이 함수에 시작 / 끝 범위가 it& # 39 의 가치, 그래서 더 유연하고. 작동하잖아. 이 예에서는 캐비닛용입니다 날짜:
$scope.rangeCreator = function (minVal, maxVal) {
var arr = [];
for (var i = minVal; i <= maxVal; i++) {
arr.push(i);
}
return arr;
};
<div class="col-sm-1">
<select ng-model="monthDays">
<option ng-repeat="day in rangeCreator(1,31)">{{day}}</option>
</select>
</div>