2015-09-09 3 views
3

Я хотел бы знать, есть ли способ получить доступ к переменным $ scopes с помощью $ rootScope таким образом, что если функция определена в области видимости, я могу вызвать ее с помощью метода $ rootscope или если это переменная, определенная с использованием $ scope.var1. Я мог получить к ней доступ, используя $ rootScope до

+0

'$ scope' является ребенок из '$ rootScope' просто они поддерживают отношение наследования между ними .. и вы знаете, что родитель не может иметь доступ к своему ребенку ... поскольку ребенок может получить доступ к своей родительской информации .. потому что его обобщает .. –

+0

@PankajParkar. На самом деле родитель имеет доступ к его охват ребенка. Так что это возможно, однако не очень полезно. – dfsq

+0

@dfsq Спасибо. любопытно узнать, как мы можем это сделать ..? –

ответ

4

Каждая область имеет две ссылки свойств на ее дочерние области, а именно: $$childHead и $$childTail. Кроме того, у каждого объекта области есть $$nextSibling и $$prevSibling свойства, указывающие на экземпляры одного и того же уровня видимости. Имея эти свойства, вы можете перемещать все дочерние области по горизонтали или по вертикали. В зависимости от того, зачем вам нужно делать это на каждом шаге, вы должны проверить наличие необходимого свойства или метода.

Это, как говорится, я не могу видеть реальную бизнес-логику приложения для такого ребенка области видимости обходе, для целей регистрации/отладки, за исключением, например, для создания области действия дерева иерархии и т.д.

+0

Я попытался получить доступ к области памяти, но я не могу это сделать – Gardezi

+0

Я сделал это так, как этот '$ rootScope. $$ childHead', но я возвращаю null в ответ – Gardezi

+0

Если вы запутались, выполните console.log ($ rootScope) и посмотрите в консоли разработчика. Найдите $$ childHead и $$ nextSibling узлы и просмотрите их. – mbokil

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