可使用ResizeObserver
https://developer.mozilla.org/zh-CN/docs/Web/API/ResizeObserver
const resizeObserver = new ResizeObserver(entries => {
for (let entry of entries) {
entry.target.style.borderRadius = Math.max(0, 250 - entry.contentRect.width) + 'px';
}
});
resizeObserver.observe(document.querySelector('.box:nth-child(2)'));
我在是使用的时候直接调用this.$el作为resizeObserver.observe的实参
const resizeObserver = new ResizeObserver(entries => { for (let entry of entries) { console.log(entry) } }) resizeObserver.observe(this.$el)