父元素大小变化监听
echarts 开发的时候,需要让ehcart图片跟随父元素大小变化。
开始的时候用的是window resize,发现只有在浏览器窗口变化的时候才会触发事件(因为只监听window),而父元素大小变化echart并不会跟随变化
let container = document.getElementById('xx');
let myChart = echarts.init(container);
myChart.setOption(option, true);
// 图表自适应,只监听window的变化
window.addEventListener('resize', function () {
myChart.resize();
});
后面改用ResizeObserver
let container = document.getElementById('xx');
let myChart = echarts.init(container);
myChart.setOption(option, true);
// 定义ResizeObserver对象,并设置监听方法
const myObserver = new ResizeObserver(entry => {
myChart.resize();
});
// 添加要监听的元素,把echart的container div添加为监听对象
myObserver.observe(container);