Angularjs 如何将一个模块中定义的$rootScope值访问到另一个模块中

Angularjs 如何将一个模块中定义的$rootScope值访问到另一个模块中,angularjs,angularjs-scope,Angularjs,Angularjs Scope,我需要理解“如何将一个模块中定义的$rootScope值访问到另一个模块?” 下面是我的代码: Index.html test.js 现场演示: 检查以下示例,但不起作用: 在testCtrl中显式注入'$scope',而不是'$rootScope',因此只为该控制器创建一个新范围,并作为第一个参数传递,而不管该参数使用的名称如何 不正确: testapp.controller('testCtrl', ['$scope', function($rootScope) { $root

我需要理解“如何将一个模块中定义的$rootScope值访问到另一个模块?”

下面是我的代码:

Index.html

test.js

现场演示:

检查以下示例,但不起作用:


testCtrl
中显式注入
'$scope'
,而不是
'$rootScope'
,因此只为该控制器创建一个新范围,并作为第一个参数传递,而不管该参数使用的名称如何

不正确:

testapp.controller('testCtrl', ['$scope',
  function($rootScope) {
    $rootScope.root = "Root Scope Param1";
  }
]);
正确:

testapp.controller('testCtrl', ['$rootScope',
  function($rootScope) {
    $rootScope.root = "Root Scope Param1";
  }
]);

testCtrl
中显式注入
'$scope'
,而不是
'$rootScope'
,因此只为该控制器创建一个新范围,并将其作为第一个参数传递,而不管该参数使用的名称如何

不正确:

testapp.controller('testCtrl', ['$scope',
  function($rootScope) {
    $rootScope.root = "Root Scope Param1";
  }
]);
正确:

testapp.controller('testCtrl', ['$rootScope',
  function($rootScope) {
    $rootScope.root = "Root Scope Param1";
  }
]);

这是你的最新作品

基本上,我更喜欢使用
$scope.$root
来防止
$rootScope
的注入


您还在
标签上设置了
testCtlr
,不知道它是否是故意的。

这是您的更新工作

基本上,我更喜欢使用
$scope.$root
来防止
$rootScope
的注入


您还在
标签上设置了
testCtlr
,不知道这是否是故意的。

可能重复@Sergiu Paraschiv:我认为这不是重复的。在我的示例中,我想访问$rootScope的值,而不是$scope。同样的事情。任何
$scope
位置都是
$rootScope
树的一部分。请阅读并检查我的示例。我无法访问$rootScope的值。“每个应用程序都有一个根作用域。所有其他作用域都是根作用域的后代作用域。”-“应用程序”表示“模块”
$rootScope
是模块的根范围。控制器的
$scope
是模块的子模块,也称为
$rootScope
。因此,根据设计,您不能在模块之间共享
$rootScope
。但是,您可以初始化它(),并可能将其设置为服务中保留的某个值,如副本中所述。可能重复@Sergiu Paraschiv:我认为这不是副本。在我的示例中,我想访问$rootScope的值,而不是$scope。同样的事情。任何
$scope
位置都是
$rootScope
树的一部分。请阅读并检查我的示例。我无法访问$rootScope的值。“每个应用程序都有一个根作用域。所有其他作用域都是根作用域的后代作用域。”-“应用程序”表示“模块”
$rootScope
是模块的根范围。控制器的
$scope
是模块的子模块,也称为
$rootScope
。因此,根据设计,您不能在模块之间共享
$rootScope
。但是,您可以初始化它(),并可能将其设置为服务中保留的某个值,如副本中所述。
testapp.controller('testCtrl', ['$rootScope',
  function($rootScope) {
    $rootScope.root = "Root Scope Param1";
  }
]);