记录一次在vue中使用echarts遇到的神奇问题

首先我们看看,id为hoststatus的div宽度为:111.8px:
这里写图片描述

然后使用js打印出#hoststatus的宽度看看:
这里写图片描述
这里写图片描述

结果为1503.2px,为什么会出现这个结果????

我们再来看看他的父元素宽度:
这里写图片描述

再打印出宽度看看:
这里写图片描述
这里写图片描述

结果还是这样,那让我们看看他的父元素,先给他的父元素加个id:
这里写图片描述

再打印出来看看:
这里写图片描述
父元素确实是id为parent的元素,但是宽度为什么会是1503.2px呢???

分析:1503的宽度也不知道是怎么计算出来的,html和body的宽度是1519.200
弄了很久,终于解决了,估计是浏览器刷新后vue render函数重新渲染dom导致的问题,由于echart所用的标签元素比页面元素的先加载出来,所以获取不到宽度
解决办法,页面加载之后立即执行:
这里写图片描述
这里写图片描述
这里写图片描述

但是onload只能执行一次,要执行多次我们可以使用setTimeout函数让他延时几秒也能达到目的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值