echarts 多个图表自适应大小

echarts 多个图表自适应大小

背景是每个图表都是单个的组件,最后引用到一个VUE文件里,但是图表的大小有问题,需要自适应大小。
一个简单的问题,结果花费了我一小时,都怪我太菜😂,看看我的踩坑之路,看看你是否有同感

1.首先是网上查到的

// 监听 window 窗口大小变化的事件
window.onresize = function() {
  // 调用 echarts 实例对象的 resize 方法
  myCharts.resize()
}
// 或者简写
// window.onresize = myCharts.resize

2.用了之后发现不行,只有一个图表自适应了,其他不变,所以又找找资源,有了这个

let myChart = this.$echarts.init(****)
myCharts.setOption(option)
//多个图表自适应时,为每个图表都添加以下部分的代码
window.addEventListener('resize', function () {	
   myChart.resize()
 })

3.我觉得这次总没错了吧,很对啊,结果我一试,还是不行,抓破了脑袋都不知道是啥出了问题,为啥别人能行到我这就不行了,抓狂。。。倒腾了很久,才发现问题,看我代码

this.lineChart.setOption(option)
 window.addEventListener("resize", function () {
    this.lineChart.resize();
 });

是this的指向出了问题,我改了改

let that=this
this.lineChart.setOption(option)
 window.addEventListener("resize", function () {
    that.lineChart.resize();
 });

这样就行了,没问题了,几个图表都加上这段代码都能自适应了。
只能说我太菜了,欲哭无泪。。。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值