我有一个javascript对象,我需要它全局到我的angularjs应用程序。当应用程序将要卸载时(由于页面刷新或其他一些场景),我希望将对象持久化到浏览器存储中。我相信将对象添加到$rootScope将满足使对象成为全局对象的第一个要求,但是在onbeforeunload
事件期间将对象写入存储将需要访问$rootScope变量。是否可以在angularjs中检测到页面卸载事件?
发布于 2014-12-09 06:07:11
这应该可以做到这一点,但我也建议避免使用$rootScope
,因为不鼓励使用全局状态,而且您还可以将localStorage
包装在服务中,以便可以对其进行注入和模拟以进行测试。
.run([
'$window',
'$rootScope',
function($window, $rootScope) {
$window.addEventListener('beforeunload', function() {
localStorage.myValue = $rootScope.myValue;
});
}
]);
https://stackoverflow.com/questions/27367728
复制相似问题