Tôi có một hàm chia sẻ trả về phạm vi của phần tử trên cùng (tài liệu) trong ứng dụng AngularJS của tôi.
function topScope() {
return angular.element(document).scope();
}
Điều này luôn hoạt động và tôi luôn đảm bảo có quyền truy cập vào bất kỳ subscopes nào nằm trong ứng dụng (cho dù nằm trong bộ điều khiển hoặc chỉ thị).
Dưới đây là một ví dụ về những gì tôi sẽ sử dụng nó cho:
topScope().$emit('pageReady');
Bây giờ tôi đã nhận thấy rằng $ rootScope cũng hoạt động theo cách tương tự.
$rootScope.$emit('pageReady');
Điều gì cũng hoạt động và đạt được tác động tương tự. Nhưng vì $ rootScope được thiết kế là phạm vi "$ scope off the shelf" (bất kỳ phạm vi nào được tạo ra sẽ kế thừa các phương thức và thuộc tính của nó) thì điều này có nghĩa là thực tế nó là phạm vi trên cùng của trang? Vì vậy, là cha mẹ của đối tượng phạm vi được gắn vào nút tài liệu?
Có, RootScope là cha mẹ của tất cả các phạm vi. – ganaraj