封装了一个3d饼图的子组件,父组件调用并通过props传值给饼图子组件。父组件加载完成后发现饼图并没有显示。
经过调试发现props所传的值是异步调用后台接口后赋值,通过v-if和$nextTick配合使用,解决问题。
父组件页面关键代码,bingtu3D初始定义为false
<div class="bingtu">
<bingtu3DVue :datalist="dfjglist" :colors="dfjgcolor" v-if="bingtu3D" ></bingtu3DVue>
</div>
后台数据获取并赋值给this.dfjglist后调用$nextTick
this.$nextTick(()=>{
this.bingtu3D=true
})