當在一個controller中 經過設置$scope的數據,來影響其它control的範圍時,可使用$rootScopeweb
舉個例子:app
在一個control A範圍內設置spa
mainApp.controller('menuController', function($scope,$rootScope) {
$rootScope.menus={}
$rootScope.menus.showWelcome = false;
$rootScope.menus.showExit = false;
$rootScope.menus.activeHome = "active";
$rootScope.menus.activeMystudy = "";
});orm
在另外一個control B中ci
mainApp.controller('homeController', function($scope) {
$scope.menus.activeHome = "active";
$scope.menus.activeMystudy = "";
$scope.loginForm = {userid:"李五"};
$scope.login = function(){
$scope.menus.loginId = $scope.loginForm.userid;
$scope.menus.showWelcome = true;
$scope.menus.showExit = true;
}
});it
這時操做B中的元素時,A中的元素會受影響。 注意,若是B中的數據名與$rootScope中的同名時,則在B中引用時須要使用$rootScope。io
其關鍵的因素是,全部的應用都有一個 $rootScope,它能夠做用在 ng-app 指令包含的全部 HTML 元素中。function
$rootScope 可做用於整個應用中。是各個 controller 中 scope 的橋樑。用 rootscope 定義的值,能夠在各個 controller 中使用。form