2016-02-25 102 views
0

讓我們考慮一個非常簡單的代碼:角度範圍;特殊情況

<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對象可通過控制檯訪問?當比較結果爲真時,我需要寫什麼?

x.__proto__===*.Scope.prototype 

x.__proto__ returns Scope{}。這個範圍物體的生命?

回答

3

構造函數/函數Scope故意不暴露給控制檯。它在角庫內深處的IIFE內定義 - 具體在$RootScopeProvider函數內。所有你需要知道的是你可以使用作用域對象的$new()方法創建新的作用域 - 你不需要直接訪問這個構造方法。