让我们考虑一个非常简单的代码:
<div id="main" ng-app='myapp' ng-init="qty=1;cost=2">
<div>
Quantity: <input type="number" ng-model="qty">
</div>
</div>
在Chrome控制台中:
var x=angular.element('#main').scope();
返回:
Scope {$id: 1, $$childTail: ChildScope, $$childHead: ChildScope, $$prevSibling: null, $$nextSibling: null…}
我的问题:以何种方式通过控制台访问上述Scope对象?当比较返回true时,我必须写什么东西?
x.__proto__===*.Scope.prototype
自x.__proto__ returns Scope{}
以来。这个范围对象存在于哪里?
答案 0 :(得分:3)
有意不将Scope
构造函数/函数暴露给控制台。它在角度库内深处的IIFE内定义 - 特别是在$RootScopeProvider
函数内。您需要知道的是,您可以使用范围对象的$new()
方法创建新范围 - 您无需直接访问此构造方法。