angularjs培训之Scope嵌套

    每部分的angularjs应用都有一个父scope(但是ng-app对应的是$rootScope,这个scope是终极scope),除了isolate scope,所有的scope都是通过原型继承来创建,也就是说可以访问它的父的scope.如果你对OOP比较熟悉,这种行为你看起来就比较熟悉了。

    每次html渲染属性和方法是,会从当前的scope中寻找,如果没有找到,就从他的父scope中寻找,直到检索到$rootScope中,如果还没有找到就会报错。


下面看个例子:   

<DIV ng-controller="parentController">
    parent:{{parent}} <br>
    parent --> child : {{child}}
<div ng-controller="childController">
    child : {{child}} <br>
    child --> parent : {{parent}}
</div>
</DIV>


controller中的定义如下:

var app = angular.module('demo',[]);
app.controller('parentController',  function($scope){
    $scope.parent ='parentString'
});
app.controller('childController',  function($scope){
    $scope.child = 'childString'
});


运行下代码

从运行结果上来看,子scope中可以直接访问父scope中的方法。如果在你的应用场景中,如果是公共的属性就可以定义到父scope中。

你可能感兴趣的:(AngularJS,scope)