vuex我想在action中写ajax问题
在Vuex中的action中使用ajax出现了这样的问题。
获取数据步骤如下:
1.action请求数据
2.这个时候组件就获取值了,但是这个时候ajax没有获取到值呢,所以为空了
3.action中的ajax获取数据成功了
4.mutation开始设置state中的值了
5.get开始获取值了
6.然后组件又去获取vuex中state的值了,这个时候就可以获取成功了。
上面的步骤2、6其实是重复的。就是因为ajax请求放在action中出现的这个问题。
之前看到论坛有人说ajax应该放在action中。这样尝试,最后数据确实是获取成功了。
但是上面的重复操作就造成了页面的异常效果。
请问这个问题各位怎么解决的
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
加个loaded参数咯
如果没加载完先不显示页面或者展示loading
加载完才出现.
毕竟ajax之前必须要一个初始值.
只要是用ajax请求数据, 不管你ajax放在哪, 用不用vuex都会出现这种情况
肯定都会有这种情况,state中的默认值肯定会在computed生命周期的时候给到页面渲染出来,及即使你不放在state中,只放在组件的data中,数据也会在data生命周期出现的时候渲染到页面中。跟是否ajax放在action中无关,通常情况下就应该在获取到数据渲染到页面前,让渲染的部分不显示或者给个loading动态效果,成功后去掉这个loading
在相应组件上对state中的值进行v-if判断渲染(避免在没获取到值的时候进行渲染), 看看能不能避免你说的页面异常效果