$ scope。$ root和$ rootScope有什么区别?

$ scope。$ root和$ rootScope有什么区别?,第1张

$ 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



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5639374.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存