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