Mam wspólną funkcję, która zwraca zakres najwyższego elementu (dokumentu) w mojej aplikacji AngularJS.
function topScope() {
return angular.element(document).scope();
}
To zawsze działa, a ja zawsze zagwarantowane mieć dostęp do wszelkich subscopes położonych w obrębie aplikacji (czy to kontrolery wewnątrz lub dyrektywy).
Oto przykład tego, co chciałbym go używać do:
topScope().$emit('pageReady');
Teraz zauważyłem, że $ rootScope również działa w ten sam sposób.
$rootScope.$emit('pageReady');
Który również działa i osiąga ten sam efekt. Ale ponieważ $ rootScope ma być zasięgiem "$ scope off the shelf" (każdy stworzony zakres dziedziczy jego metody i właściwości), to czy nadal oznacza to, że jest to w rzeczywistości najwyższy zakres strony? Zatem będąc rodzicem obiektu zasięgu dołączonego do węzła dokumentu?
Tak, RootScope jest rodzicem wszystkich zakresów. – ganaraj