我发现很难在代码中找到特定问题的根本原因。源代码为here
我想访问$rootScope
,但其中一种方法是失败。
路线1:
使用ng-scope
类获取DOM中的第一个元素并执行angular.element(elem).scope().$root
以获取根。
路线2:
获取带有ng-scope
类的DOM中的第一个元素,并通过angular.element(elem).injector()
获取元素上的注入器,并通过injector().get('$rootScope')
我得到$rootScope
。
在路由1 中,当我的代码执行时,angular.element(document.querySelector('.ng-scope')).scope()
我未定义,因为scope
在此元素上不可用。我试图获得angular.element(elem).data()
,但我得到一个空对象。
这是否意味着角度尚未通过此元素?如果是,如果角度尚未通过此元素,为什么我看到已经应用了ng-scope
类?
访问$rootScope
到injector().get('$rootScope')
和scope().$root
之间有什么区别?为什么我的路线1 会失败?
路线1:
路线2: