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); }); }
复制