场景: 用 vue + vue-router + vuex 写的页面,在安卓的qq浏览器上用的时候不小心下拉了,发现浏览器自动刷新,这时候state里面的内容就为空了。问题:vuex 在页面刷新后获取到的state里面的数据为空, 网上的方案是把数据放到Storage里面,那么为什么不直接把数据存到Storage里面,而要经过vuex么?这样做是不是多此一举,感觉vuex没有意义了。
2 回答
慕码人2483693
TA贡献1860条经验 获得超9个赞
你可以这样理解。 vuex是一个集中的数据仓库,任何数据都可以存放在里面。然后你可以通过从vuex中拿到数据然后渲染在视图上。但是页面刷新之后vuex中的数据肯定是被初始化了。就相当于我们刷新页面页面的js文件css文件等都会重新加载一样。但是页面刷新所有的请求应该都会重新请求的。所以我觉得估计是你的vuex使用的有问题。
通常来说,vuex里面的数据是通过mutations进行更新的(这个更新必须是同步的),如果是异步的请求请使用actions来提交commit,然后更新state中的数据
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
添加回答
举报
0/150
提交
取消