У меня есть общая функция, которая возвращает область верхнего элемента (документа) в моем приложении AngularJS.
function topScope() {
return angular.element(document).scope();
}
Это всегда работает, и я всегда гарантированно получаю доступ к любым подкопам, находящимся в приложении (будь то внутри контроллеров или директив).
Вот пример того, что я буду использовать для:
topScope().$emit('pageReady');
Теперь я заметил, что $rootScope также работает одинаково.
$rootScope.$emit('pageReady');
Что также работает и достигает такого же эффекта. Но поскольку $rootScope предназначен для области видимости "$ scope off the shelf" (любая созданная область наследует его методы и свойства), значит, это все равно означает, что это фактически самая верхняя область страницы? Таким образом, являясь родителем объекта области видимости, прикрепленного к документу node?