如何解决$ scope$ root和$ rootScope有什么区别?
$rootScope
var指向所有作用域的父级,可以在任何地方注入。所有其他范围是的子级$rootScope
。它们是通过的$new
方法创建的,$rootScope
因此每个范围都继承自$rootScope
。
在Scope
构造函数
的定义中的角度源中有一行:
function Scope() {
this.$id = nextUid();
...
this['this'] = this.$root = this;
...
似乎$root
var只是this
创建的第一个作用域- 的占位符$rootScope
。
接下来是这段代码在$new
方法:
$new: function(isolate) {
...
if (isolate) {
child = new Scope();
child.$root = this.$root;
...
return child;
因此$root
,每个作用域子对象的var$rootScope
都是对的引用$rootScope
。这些孩子中的所有孩子都会得到相同的参考$rootScope
我认为最好使用$rootScope
via依赖项注入,因为它是一种显式且总体上更常用的引用$rootScope
解决方法
我在控制器中看到$ scope有$ root,这是什么?与可以注入控制器的$ rootScope有何不同?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。