use*_*636 7 global-variables onbeforeunload persist angularjs rootscope
我有一个javascript对象,我需要全局到我的angularjs应用程序.当应用程序即将卸载时(由于页面刷新或其他一些情况),我想将该对象持久保存到浏览器存储.我相信将对象添加到$ rootScope将满足使对象成为全局的第一个要求,但是在onbeforeunload事件期间将对象写入存储将需要访问$ rootScope变量.是否可以在angularjs中检测页面卸载事件?
m59*_*m59 13
这应该这样做,但我也建议避免$rootScope因为不鼓励全局状态,并且你也可以包装localStorage一个服务,以便可以注入和模拟它进行测试.
.run([
'$window',
'$rootScope',
function($window, $rootScope) {
$window.addEventListener('beforeunload', function() {
localStorage.myValue = $rootScope.myValue;
});
}
]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12986 次 |
| 最近记录: |