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.
来源: http://blog.51yip.com/jsjquery/1604.html