?
本文檔使用 php中文網(wǎng)手冊 發(fā)布
ngInit
指令允許你在執(zhí)行一個當(dāng)前域中的表達(dá)式。
ngInit
只適用于ngRepeat
這種特殊性質(zhì)的屬性,參見下面的示例。除此之外,你應(yīng)該使用 控制器 而不是 ngInit
來初始化域中的值。ngInit
中同時使用了 $filter
,請確認(rèn)使用括號來保證正確的優(yōu)先級:
<div ng-init="test1 = (data | orderBy:'name')"></div>
<ANY
ng-init="">
...
</ANY>
<ANY class="ng-init: ;"> ... </ANY>
參數(shù) | 類型 | 詳述 |
---|---|---|
ngInit | expression | 用于計算的表達(dá)式。 |
<script>
angular.module('initExample', [])
.controller('ExampleController', ['$scope', Function($scope) {
$scope.list = [['a', 'b'], ['c', 'd']];
}]);
</script>
<div ng-controller="ExampleController">
<div ng-repeat="innerList in list" ng-init="outerIndex = $index">
<div ng-repeat="value in innerList" ng-init="innerIndex = $index">
<span class="example-init">list[ {{outerIndex}} ][ {{innerIndex}} ] = {{value}};</span>
</div>
</div>
</div>
it('should alias index positions', Function() {
var elements = element.all(by.css('.example-init'));
expect(elements.get(0).getText()).toBe('list[ 0 ][ 0 ] = a;');
expect(elements.get(1).getText()).toBe('list[ 0 ][ 1 ] = b;');
expect(elements.get(2).getText()).toBe('list[ 1 ][ 0 ] = c;');
expect(elements.get(3).getText()).toBe('list[ 1 ][ 1 ] = d;');});