2016-02-25 4 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 доступен через консоль? Что мне нужно написать в правой части, так как сравнение возвращает true?

x.__proto__===*.Scope.prototype 

с x.__proto__ returns Scope{}. Где это Сфера деятельности объект живет?

ответ

3

Конструктор/функция Scope намеренно не выставлена ​​на консоль. Он определен внутри IIFE глубоко в пределах угловой библиотеки, особенно в пределах функции $RootScopeProvider. Все, что вам нужно знать, это то, что вы можете создавать новые области применения с помощью метода $new() объекта области видимости - вам не нужно напрямую обращаться к этому методу конструктора.

Смежные вопросы