当echarts图表定义在子组件中,父组件在同一个页面两次调用子组件渲染页面时,只有最后一个子组件被渲染,这是因为在子组件里面是document.getElementById(),而dom里面只有一个id,所以一个id把另一个id覆盖了导致其中一个子组件无法显示。
这时,在子组件中不用id,用ref。
<div class="chartBar" ref="bar"></div>
初始化echarts如下:
const chart: any | null = this.$refs["bar"];
// 基于准备好的dom,初始化echarts实例
this.myChart = echarts.init(chart);