我有一个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函数中定义它,因为当你重新加载页面或导航离开时,它也不会运行.

Vue.js相关问答推荐

在 Nuxt3 中使用 Vue3 vue-ganntastic 插件

Vue 3 范围滑块中的多个值

在 Vue 中更改 json 数据后,如何在屏幕上重新呈现表格组件?

路径别名在 vue 脚本块中不起作用

Webpack 导入的模块不是函数

如何使用 vue 或 javascript 向服务器发送密码?

是否可以让 html-webpack-plugin 从 css 生成