angularjs scope rootscope 区别

scope是html和单个controller之间的桥梁,数据绑定就靠他了。rootsope是各个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、输出结果

  1. I set the global variable.this is test  

  2. 1,get global variable .this is test  

  3. 2,get global variable .this is test  

4、总结:

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

你可能感兴趣的:(angularjs scope rootscope 区别)