第一个想到的方法是this.$router.push() , 但是会报错 , 不让自己页面跳转自己页面 , 就算解决了这个问题跳转了之后 , dom也不会渲染 , 页面的数据显示不出来 , 所以查询了一下方法来解决问题
location.reload() 不推荐 : 页面出现一瞬间的空白
- 这个方法相当于( ctrl + R )刷新当前页面 , 但是刷新过后
vuex里面的值也会重新刷新
, 当我们要实现多个组件根据 vuex 里面的值做相应的判断时 , 这个功能不能实现 , 于是我们结合window.sessionStorage.getItem() 和 vuex
以实现vuex中的值在本次会话的时候不会被刷新
//freeze状态只出现一次 , 解封之后知道浏览器关闭都不在出现
this.$store.commit('changeFreeze')
// 1. dom没有渲染 , 我们要重新渲染dom
location.reload()//这种刷新方式太耗能了,亟待优化
// 2. 强制刷新之后freeze还会出现-->把值保存在session中
window.sessionStorage.setItem('freeze',0)
以下是vuex中的
freeze