为了账号安全,请及时绑定邮箱和手机立即绑定

vue渲染子组件异步问题

vue渲染子组件异步问题

绝地无双 2018-11-14 13:15:49
现在有一个组件A。里面包含了组件B,C,D,由于涉及了数据共享,组件B需要用x参数发请求,但是x参数是在A里面发请求获取到的,现在出现的问题是在A还没获取到参数x的时候B就已经先一步发请求了(结果请求400错误),出现问题的根本问题是父组件与子组件的渲染都是异步进行的,在父组件获取参数时用了async+await。async beforeMount(){    let x = await this.getCityInfo();    this.GET_POSITION(x);    console.log(11); },现在目前能想到的方案就将B,C,D全部整合到A内部,使A内部没有子组件,这样就不会有组件之间异步渲染的问题,请问还有其他更好的方案吗?
查看完整描述

1 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

获取 x 成功之前不渲染 B

<B v-if="x"></B>

或者 B 自己 watch prop x ,值不对不发请求。

watch: {
  x (value) {    if (value) {      // send request
    }
  }
}


查看完整回答
反对 回复 2018-12-07
  • 1 回答
  • 0 关注
  • 667 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号