javascript - 如何在Vue中关闭一页之前存储数据

标签 javascript vue.js vuejs2

据我所知,如果你关闭或刷新页面,Vue 中的钩子(Hook) 'beforedestroy' 和 'destroyed' 不会被触发。所以也许我可以使用

window.onbeforeunload = function() { ... }

这是代码

mounted() {
            window.onbeforeunload = function() {
                window.localStorage.setItem('form', JSON.stringify(this.form))
            }
        }

但是,我存储的内容是未定义的。所以我认为当函数被调用时实例已经被销毁了。这样this.form就无法访问了,还有其他办法吗?

最佳答案

您通过定义匿名函数来隐藏 this 关键字,请改用箭头函数:

window.onbeforeunload = () => {
  window.localStorage.setItem('form', JSON.stringify(this.form))
}

关于javascript - 如何在Vue中关闭一页之前存储数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63643496/

相关文章:

javascript - react : store items in a cart with a unique ID

javascript - 如何检测 Angular ng-repeat 是否显示结果

javascript - setinterval 说没有定义函数,但它是

javascript - 如何在 v-for 循环中仅打印第一个获胜者?

javascript - Vue CLI 3 vue.config.js 与插件的 webpack.config.js

javascript - 添加类似 Accordion 的设置?

vue.js - 使用 vue-cli3 移除插件

javascript - 用于计算属性重新渲染的 Vue.js 加载指示器

javascript - Vue-resource 无法加载 express 静态文件

vue.js - 在 Vuetify 中调整 v-list-tile 的高度