用户注销后,我需要清理我的$ rootScope。我试过了$rootScope.$destroy()
,但这并没有成功。有没有办法循环遍历$ rootScope中的所有值并删除它们或方法来简单地重置它?
答案 0 :(得分:9)
初始化时,您可能希望保留$rootScope
附带的默认值。由于它们都以$
开头,因此您可以删除所有不以$
开头的属性。
for (var prop in $rootScope) {
if (prop.substring(0,1) !== '$') {
delete $rootScope[prop];
}
}
您可以通过将其添加为$rootScope
上的函数来轻松调用。
$rootScope.$resetScope = function() {
...
}
答案 1 :(得分:4)
来自here
的参考资料这是一个很长的描述,但您可以通过以下方式手动清除RootScope
清除rootScope变量
$rootScope.currentStatus = ""; //or undefined
如果要删除整个$ rootscope对象,
$rootScope=undefined //or empty
答案 2 :(得分:2)
从rootScope中删除变量
delete $rootScope.variablename