首页 > 解决方案 > 如何在Vue中关闭一页之前存储数据

问题描述

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

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

这是代码

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

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

标签: javascriptvue.jsvuejs2

解决方案


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

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

推荐阅读