vue+echarts 父子组件传值及同页面使用一个组件绘制多个图表的案例(按需引入)

本文展示了如何在Vue中使用Echarts进行父子组件间的数据传递,以及如何在同一页面上复用组件绘制多个不同的图表。关键在于通过v-bind:id绑定不同的图表ID和ref绑定data,确保每个图表的唯一性。同时,通过按需引入Echarts组件,实现了资源的高效利用。
摘要由CSDN通过智能技术生成

vue+echarts 父子组件传值及同页面使用一个组件绘制多个图表的案例(按需引入)

最终的效果图,还需要做一些视觉效果,只需要在子组件里面编写就可以
最终效果

子组件内容

v-bind:id就是绑定id,从父组件获得不同的id,不然id相同echarts画图时无法识别图表就显示不出来。ref绑定data用于同一个页面可以重复调用子组件,以便获得不同的data。

<!-- 子组件.vue -->
<template>
  <div class="echarts">
    <!-- 子组件需要得到的值id和data-->
    <div v-bind:id=id ref="data" :style="{width: '100%', height: '338px'}" ></div>
  </div>
</template>
按需引入必需组件
<!-- 子组件.vue -->
// 引入基本模板
let echarts = require('echarts/lib/echarts')
// 引入折线图组件
require('echarts/lib/chart/line')
// 引入提示框和title组件
require('echarts/lib/component/tooltip')
require('echarts/lib/component/title')
require('echarts/lib/component/legend')
<!-- 子组件.vue -->
props:["id","data"],    // 接收从父组件传回的值
    //实时监听父组件传过来的值
    //然后执行drawLine方法 重新绘制折线图
watch: {
   
      data: {
   
        handler(value) {
   
          this.drawLine(value)
        },
        deep: true//深度监听
      }
    },
mounted() {
   
     this.drawLine(this.data
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值