angularjs - 如何重置 $rootScope?

标签 angularjs rootscope angularjs-rootscope

用户注销后,我需要清理我的 $rootScope。我试过 $rootScope.$destroy()但这并没有奏效。有没有办法遍历 $rootScope 中的所有值并删除它们或简单地重置它的方法?

最佳答案

您可能希望保留 $rootScope 附带的默认值。当它被初始化。因为它们都以 $ 开头您可以删除所有不以 $ 开头的属性.

for (var prop in $rootScope) {
    if (prop.substring(0,1) !== '$') {
        delete $rootScope[prop];
    }
}

您可以通过将其添加为 $rootScope 上的函数来轻松调用.
$rootScope.$resetScope = function() {
    ...
}

关于angularjs - 如何重置 $rootScope?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30906669/

相关文章:

javascript - Angular js - 将 FALSE 值打印为字符串

javascript - 无法调用函数,因为 $rootScope 未定义

angularjs - $rootscope 值在 Controller 中未定义

javascript - AngularJS rootScope.$从指令内发出

javascript - 在 Javascript/AngularJS 中设置嵌套属性

javascript - AngularJS FeedReader - 不填充数组

c# - 从 C# MVC 模型设置 AngularJS $provide.constant 值的最佳方法是什么?

angularjs - 在Polymer.dart中是否有类似于angular $ rootScope的东西?

angularjs - 成功解决后带有 typescript 的 Protractor 找不到模块 'protractor'

javascript - Angular .js : ReferenceError: up is not defined