AngularJS进阶(二十一)Angularjs中scope与rootscope区别及联系

时间:2023-03-09 07:55:35
AngularJS进阶(二十一)Angularjs中scope与rootscope区别及联系

Angularjs中scope与rootscope区别及联系

scope是html和单个controller之间的桥梁,数据绑定就靠他了。rootscope是各个controller中scope的桥梁。用rootscope定义的值,可以在各个controller中使用。下面用实例详细的说明一下。

1.js代码

phonecatApp.controller('TestCtrl',['$scope','$rootScope',
    function($scope,$rootScope) {
        $rootScope.name = 'this is test';
    }
]);
phonecatApp.controller('Test111Ctrl',['$scope','$rootScope',
    function($scope,$rootScope) {
        $scope.name = $rootScope.name;
    }
]);

2.html代码

<div ng-controller="TestCtrl">
    I  set the global variable.<strong>{{$root.name}}</strong>
</div>
<div ng-controller="Test111Ctrl">
    1,get global variable .<strong>{{name}}</strong><br>
    2,get global variable .<strong>{{$root.name}}</strong>
</div>

3.显示结果

I set the global variable.this is test

1,get global variable .this is test

2,get global variable .this is test

由结果可以看出来,$rootScope.name设置的变量,在所有controller里面都是可以直接用{{$root.name}}来显示的,很强大。那当然也可以赋值给scope.