问题:在echart中,我们一般使用这种方式实现 echarts的大小变化
window.onresize = function(){
myCharts.resize()
}
但是,这种方式仅限于 window 发生变化是
假如我们 在echarts 容器外边包裹一层div
<div id='echarts-wrap'>
<div id="container"></div>
</div>
我们将 echarts 渲染到容器 container中此时,我们改变 echarts-wrap,container 容器的大小
这个时候,我们上边那种监听window 是不生效的。
此时,我们需要的是监听 容器 container 的dom尺寸变化
无意间发现一个 api:
//获取 echats 要渲染的dom
let dom = document.getElementById('container')
let ro = new ResizeObserver((entries) => {
myChart.resize();
});
ro.observe(dom);
使用上边方式,成功实现自适应监听,不再使用window监听