mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-16 23:30:23 +00:00
Before, there we multiple overview docs: - guide/overview - guide/introduction - guide/dev_guide.mvc - guide/dev_guide.mvc.understanding_model - guide/dev_guide.mvc.understanding_view - guide/concepts Now we have: - guide/introduction: High level description of Angular with the key benefits but without code or any concrete concepts - guide/concepts: explains all important concepts with a simple example and contains deep links to the other parts of the guide. All the old information was moved into existing documents or deleted when they were duplicates.
57 lines
1.6 KiB
JavaScript
57 lines
1.6 KiB
JavaScript
'use strict';
|
|
|
|
/**
|
|
* @ngdoc directive
|
|
* @name ng.directive:ngInit
|
|
* @restrict AC
|
|
*
|
|
* @description
|
|
* The `ngInit` directive allows you to evaluate an expression in the
|
|
* current scope.
|
|
*
|
|
* <div class="alert alert-error">
|
|
* The only appropriate use of `ngInit` for aliasing special properties of
|
|
* {@link api/ng.directive:ngRepeat `ngRepeat`}, as seen in the demo below. Besides this case, you
|
|
* should use {@link guide/controller controllers} rather than `ngInit`
|
|
* to initialize values on a scope.
|
|
* </div>
|
|
*
|
|
* @element ANY
|
|
* @param {expression} ngInit {@link guide/expression Expression} to eval.
|
|
*
|
|
* @example
|
|
<doc:example>
|
|
<doc:source>
|
|
<script>
|
|
function Ctrl($scope) {
|
|
$scope.list = [['a', 'b'], ['c', 'd']];
|
|
}
|
|
</script>
|
|
<div ng-controller="Ctrl">
|
|
<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>
|
|
</doc:source>
|
|
<doc:scenario>
|
|
it('should alias index positions', function() {
|
|
expect(element('.example-init').text())
|
|
.toBe('list[ 0 ][ 0 ] = a;' +
|
|
'list[ 0 ][ 1 ] = b;' +
|
|
'list[ 1 ][ 0 ] = c;' +
|
|
'list[ 1 ][ 1 ] = d;');
|
|
});
|
|
</doc:scenario>
|
|
</doc:example>
|
|
*/
|
|
var ngInitDirective = ngDirective({
|
|
compile: function() {
|
|
return {
|
|
pre: function(scope, element, attrs) {
|
|
scope.$eval(attrs.ngInit);
|
|
}
|
|
};
|
|
}
|
|
});
|