2015-12-23 95 views
3

我有一个beforeDestroy方法的Vue.JS应用程序,我试图用它在应用程序关闭或重新加载之前在本地存储中存储一些数据。仅供参考:在vue.js重新加载或关闭之前做些什么

beforeDestroy: function() { 
    localStorage.setItem('preference', this.preference); 
    ... 
} 

但是,关闭和重新加载应用程序实际上都不会调用此方法。如何确保在应用程序关闭之前调用此方法?

回答

3

“关闭”或“重新加载”应用程序是什么?它是关闭窗口和或刷新页面的浏览器中的用户吗?如果是这样的话,什么都不会被“销毁”,并且该功能不会运行。你将不得不在全球范围内定义onbeforeunload功能:

window.onbeforeunload = function(){ 
    return "Are you sure you want to close the window?"; 
} 

https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload

然后就可以保存该函数内部项目到本地存储return语句之前。

提示:不要在你的beforeDestroy函数中定义它,因为再次,当你重新加载页面或离开时不会运行。

+0

好点。现在就开始工作吧。谢谢! – Ben

相关问题