Vuex中刷新页面数据会消失问题

462 阅读1分钟

解决办法:

更改store文件下index文件state的定义

const store = new Vuex.Store({
    state:sessionStorage.getItem('state') ? JSON.parse(sessionStorage.getItem('state')): {
        //id
        skillId:'',
        //技能状态
        checkStatus:''
    }
})

以及在App.vue中添加

mounted() {
            window.addEventListener('unload', this.saveState)
        },
        methods: {
            saveState() {
                sessionStorage.setItem('state', JSON.stringify(this.$store.state))
            }
        }

也就是说监听unload方法,如果重载页面就把state存入sessionStorage,然后在需要state的时候从sessionStorage中取值。