vue中父组件向子组件echarts传值问题
问题:当父组件传值给子组件echarts时,发现子组件获取的props为空,刚开始以为是钩子函数放错了地方,后来发现从mounted和created都不行。当在父组件data定义传递的数据的时候子组件显示正常
原因:后来经过排查,此处省略N字,发现echarts是在渲染的时候就传递数据
解决方案:在父组件定义一个flag,当数据获得的之后再进行子组件的渲染
父组件用flag判断
<line-chart v-if="flag" :chart-data="lineChartData" />
data() {
return {
lineChartData:[],
common:{},flag:false,
}
},
getChart().then(res=>{
this.common=res.data
this.lineChartData=this.common.history
this.flag=true //调用API后赋值,再显示图表
})
然后子组件传递的参数就有值了,踩坑记录