解决页面刷新后vuex数据丢失
在vue项目中使用vuex来记录一些状态时发现按F5刷新页面后vuex里面的数据会丢失.因为js运行的代码都是存储在内存中.刷新页面内存会被释放,所以这些数据都会丢失,只能用h5提供的api:localStorage或者sessionStorage来记录页面刷新前的vuex状态.
两者大致区别是:localStorage没有时间期限,除非将它移除,sessionStorage即会话,当浏览器关闭时会话结束,有时间期限
我这里使用localStorage来记录
在vue注册页面更新前事件 在事件里面处理vuex的状态:
beforeUpdate(){
var type = this.$store.state.movieRouteType;
localStorage.setItem('changeMoiveType',type)
}
使用localStorahe记录刷新前记录一下,确保状态不丢失.直接使用localStorage.setItem('xxx',value)即可保存.获取时使用:localStorage.getItem('xxx').