我有一个Vue.JS应用程序使用beforeDestroy
方法,我试图在应用程序关闭或重新加载之前,使用该方法将一些数据存储在本地存储中.
仅供参考:
beforeDestroy: function() {
localStorage.setItem('preference', this.preference);
...
}
然而,关闭或重新加载应用程序实际上都不会调用此方法.
如何确保在关闭应用程序之前调用此方法?
我有一个Vue.JS应用程序使用beforeDestroy
方法,我试图在应用程序关闭或重新加载之前,使用该方法将一些数据存储在本地存储中.
仅供参考:
beforeDestroy: function() {
localStorage.setItem('preference', this.preference);
...
}
然而,关闭或重新加载应用程序实际上都不会调用此方法.
如何确保在关闭应用程序之前调用此方法?
什么是"关闭"或"重新加载"应用程序?是浏览器中的用户关闭窗口和/或刷新页面吗?
如果是这样的话,没有什么是"destroyed",该函数将无法运行.
您必须全局定义一个onbeforeunload
函数:
window.onbeforeunload = function(){
return "Are you sure you want to close the window?";
}
然后可以在返回语句之前将项目保存到该函数中的本地存储.
Note:不要在beforeDestroy
函数中定义它,因为当你重新加载页面或导航离开时,它也不会运行.