1.在模板中,使用v-for
循环遍历item列表,并为每个item渲染一个包含唯一id的图表容器:
<template>
<div>
<div v-for="(item, index) in items" :key="index">
<!-- 为每个图表容器设置唯一id -->
<div :id="`chartContainer_${index}`" style="width: 400px; height: 300px;"></div>
</div>
</div>
</template>
2. 在Vue组件的data
选项中定义一个数组,用于存储每个item的echarts实例:
data() {
return {
echartsInstances: []
}
}
3. 在mounted
钩子函数 (或者定义的函数中) 中,使用v-for
循环遍历您的item列表,并为每个item创建一个独立的echarts实例。在创建实例时,您可以将实例添加到echartsInstances
数组中:
mounted() {
// 假设this.items是您的item列表数据
this.items.forEach((item, index) => {
const chartContainerId = `chartContainer_${index}`; // 为每个图表容器生成唯一的id
// 创建echarts实例,并将其绑定到容器中
const chartInstance = echarts.init(document.getElementById(chartContainerId));
// 将echarts实例推入echartsInstances数组中
this.echartsInstances.push(chartInstance);
// 使用item的数据初始化和渲染图表
chartInstance.setOption(item.chartOptions);
});
}