我有一个 javascript 对象,我需要全局到我的 angularjs 应用程序。当应用程序即将被卸载时(由于页面刷新或其他情况),我想将对象持久保存到浏览器存储中。我相信将对象添加到 $rootScope 将满足使对象全局化的第一个要求,但在 onbeforeunload
期间将对象写入存储。事件,将需要访问 $rootScope 变量。是否可以在 angularjs 中检测到页面卸载事件?
最佳答案
这应该可以,但我也建议避免$rootScope
由于不鼓励使用全局状态,您也可以包装 localStorage
在服务中,以便可以注入(inject)和模拟以进行测试。
.run([
'$window',
'$rootScope',
function($window, $rootScope) {
$window.addEventListener('beforeunload', function() {
localStorage.myValue = $rootScope.myValue;
});
}
]);
关于angularjs - 在angularjs中检测页面卸载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27367728/