加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – $rootScope是最高$范围的父级?

发布时间:2020-12-17 08:07:28 所属栏目:安全 来源:网络整理
导读:我有一个共享函数,它返回我的AngularJS应用程序中最上面的元素(文档)的范围。 function topScope() { return angular.element(document).scope();} 这总是有效的,我总是保证能够访问位于应用程序内的任何子单元(无论是在控制器或指令内)。 以下是我将使用
我有一个共享函数,它返回我的AngularJS应用程序中最上面的元素(文档)的范围。
function topScope() { 
  return angular.element(document).scope();
}

这总是有效的,我总是保证能够访问位于应用程序内的任何子单元(无论是在控制器或指令内)。

以下是我将使用的示例:

topScope().$emit('pageReady');

现在我注意到$ rootScope也是一样的。

$rootScope.$emit('pageReady');

哪个也起作用,达到同样的效果。但是,由于$ rootScope被设计为“$ scope on shelf”范围(创建的任何范围将继承它的方法和属性),那么这仍然意味着它实际上是页面的最高范围?因此,作为附加到文档节点的作用域对象的父项?

$ rootScope是给定AngularJS应用程序中所有作用域的父范围。由于可以在一个页面上引导多个AngularJS应用程序(仅手动启动,因此无法使用ng-app进行),也可以在一个HTML文档中拥有多个$ rootScope实例。

每个$ rootScope都被“附加”到已声明ngApp的元素或者按照here所述将元素传递到angular.bootstrap中。

简而言之,$ rootScope是一个AngularJS应用程序的所有范围的根,但没有“超级根”范围,可以作为给定HTML文档的所有其他范围的父范围。

在你的情况下,如果在整个HTML文档中只有一个AngularJS应用程序,那么使用$ rootScope可能会很好。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读