angularjs – 我如何使用$ rootScope在Angular存储变量?

前端之家收集整理的这篇文章主要介绍了angularjs – 我如何使用$ rootScope在Angular存储变量?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何使用$ rootScope将变量存储在控制器中,以便以后在另一个控制器中访问?例如:
angular.module('myApp').controller('myCtrl',function($scope) {
  var a = //something in the scope
  //put it in the root scope
});

angular.module('myApp').controller('myCtrl2',function($scope) {
  var b = //get var a from root scope somehow
  //use var b
});

我该怎么做?

在根范围设置的变量通过原型继承可用于控制器范围。

这里是@ Nitish的演示的修改版本,显示了关系更清晰:
http://jsfiddle.net/TmPk5/6/

注意,当模块初始化时,rootScope的变量被设置,然后每个继承的范围获得自己的可以独立设置的副本(变化函数)。此外,rootScope的值也可以更新(myCtrl2中的changeRs函数)

angular.module('myApp',[])
.run(function($rootScope) {
    $rootScope.test = new Date();
})
.controller('myCtrl',function($scope,$rootScope) {
  $scope.change = function() {
        $scope.test = new Date();
    };

    $scope.getOrig = function() {
        return $rootScope.test;
    };
})
.controller('myCtrl2',$rootScope) {
    $scope.change = function() {
        $scope.test = new Date();
    };

    $scope.changeRs = function() {
        $rootScope.test = new Date();
    };

    $scope.getOrig = function() {
        return $rootScope.test;
    };
});

猜你在找的Angularjs相关文章