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

首先我们看看,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函数让他延时几秒也能达到目的