AngularJS 控制器嵌套

默认情况下,AngularJS在当前作用域中无法找到某个属性,就会在父级作用域中进行查找.

    <div ng-controller="MyController">
        <div ng-controller="ChildController">
            <a ng-click="sayHllo()">Say hello</a>
        </div>
        {{person}}
    </div>
    angular.module('myApp',[])
    .controller("MyController",function($scope){
       $scope.person = {greeted : true};
    })
    .controller("ChildController",function($scope){
        $scope.sayHllo = function(){
            $scope.person.name = 'ari lerner';
        }
    })

如果我们将"ChildController"置于"MyController"内部,那么"ChildController"的$scope对象的父级作用域就是"MyController"的$scope对像.

根据原型继承的机制,我们可以在子作用域中访问父作用域的$scope对象

控制器的这种嵌套和DOM的嵌套结构很相似


控制器应该尽量保持短小,而且在控制中进行DOM操作的数据操作就不是一个好的实践

 

posted on 2015-08-25 15:40  Edge_Lin  阅读(326)  评论(0)    收藏  举报

导航