移动端echarts图表的自适应使用

多个图表写法

<div id="main" style="width: 100%; height: 260px"></div>

<div id="main2" style="width: 100%; height: 300px; margin-top: 20px"></div>
import * as echarts from "echarts";
import { brokenLineOptions } from "./echarts/broken-line"; // 单独的option
import { barGraphOption } from "./echarts/bar-graph"; // 单独的option

// 多个图表的重绘要用事件监听,否则只会作用于最后一个图表
methods:{
	  // 图表一
	 initEahcrts() {
      // 基于准备好的dom,初始化echarts实例
      // 在data里面定义myChart,方便写图表重绘
      this.myChart = echarts.init(document.querySelector("#main"));
      // 绘制图表
      this.myChart.setOption(brokenLineOptions, true);
    },
    chartResize() {
      this.myChart.resize({
        width: document.querySelector("#main").getBoundingClientRect().width,
      });
    },
    //图表二: 折线图
    initBrokenLine() {
      this.myChart2 = echarts.init(document.getElementById("main2"));
      this.myChart2.setOption(barGraphOption);
    },
    chartResize2() {
      this.myChart2.resize({
        width: document.querySelector("#main2").getBoundingClientRect().width,
      });
    },
},
  mounted() {
    this.initEahcrts();
    this.initBrokenLine();
    window.addEventListener("resize", this.chartResize);
    window.addEventListener("resize", this.chartResize2);
  },
重点:事件监听后要记得移除事件,因为是绑定在window上的
// 添加了监听事件记得要销毁
  beforeDestroy() {
    window.removeEventListener("resize", this.chartResize);
    window.removeEventListener("resize", this.chartResize2);
  },
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值