javascript - vue渲染子组件异步问题
伊谢尔伦
伊谢尔伦 2017-04-17 15:18:29
[HTML讨论组]

现在有一个组件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内部没有子组件,这样就不会有组件之间异步渲染的问题,请问还有其他更好的方案吗?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(2)
伊谢尔伦

获取 x 成功之前不渲染 B

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

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

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

A请求完了emit一个事件 B去监听就是了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号