vue将数据存入vuex里面,在进行页面刷新的时候,数据丢失,这里有两个解决办法应对不同场景:
假如你的路由跳了3层以上,而且这几个页面都要用同一个数据roomId,肯定想到路由传参的方式传roomId,那么问题来了:
1,就像微信公众号下面(浏览器上面)的倒退和前进按钮,点来点去的,参数就没了。 2,刷新页面参数丢失了(当然query传参方式不会丢失,但是它会显示在地址栏还有大小限制)
ok,解决方法:
初始化得到roomId后,存入sessionStorgeVuex里面的state直接读取存入sessionStorge的这个roomId在页面修改roomId的时候,提交mutation修改Vuex里面存的roomId,同时将这个roomId存入sessionStorge页面里面用到roomId的地方都去从Vuex里面读取叙述起来很啰嗦,操作很简单,这是朕最喜欢的办法 这样无论你在哪个页面进行刷新,怎么前进后退,数据都在。
将请求这个数据源的办法放在vuex里面进行请求,在App.vue里面进行提交,确保每次刷新都会拿到数据:
// store state: { dataList: [] }, mutations: { getDate(state) { this.$get('').then(res => { state.dataList = res.data }) }, }, // App.vue mounted () { this.$store.commit('getDate') },然后在你刷新的页面获取state.dataList
就酱~ ~欢迎更新更快更有效的解决办法