首先我们看看,id为hoststatus的div宽度为:111.8px:
记录一次在vue中使用echarts遇到的神奇问题

然后使用js打印出#hoststatus的宽度看看:
记录一次在vue中使用echarts遇到的神奇问题
记录一次在vue中使用echarts遇到的神奇问题

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

我们再来看看他的父元素宽度:
记录一次在vue中使用echarts遇到的神奇问题

再打印出宽度看看:
记录一次在vue中使用echarts遇到的神奇问题
记录一次在vue中使用echarts遇到的神奇问题

结果还是这样,那让我们看看他的父元素,先给他的父元素加个id:
记录一次在vue中使用echarts遇到的神奇问题

再打印出来看看:
记录一次在vue中使用echarts遇到的神奇问题
父元素确实是id为parent的元素,但是宽度为什么会是1503.2px呢???

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

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

相关文章:

  • 2021-09-27
  • 2022-12-23
  • 2021-10-01
  • 2022-12-23
  • 2021-11-20
  • 2022-02-08
  • 2021-10-16
  • 2021-04-10
猜你喜欢
  • 2021-12-31
  • 2021-05-11
  • 2022-12-23
  • 2021-08-24
  • 2021-06-04
  • 2022-12-23
  • 2021-07-22
相关资源
相似解决方案