| | |
| | | }; |
| | | |
| | | // 生命周期 |
| | | let resizeObserver = null; |
| | | onMounted(() => { |
| | | // 计算初始缩放比例 |
| | | nextTick(() => { |
| | |
| | | }); |
| | | // 监听窗口大小变化,重新调整图表大小 |
| | | window.addEventListener("resize", handleResize); |
| | | |
| | | // 使用 ResizeObserver 监听容器尺寸变化(解决侧边栏切换问题) |
| | | const container = document.querySelector(".scale-container"); |
| | | if (container && window.ResizeObserver) { |
| | | resizeObserver = new ResizeObserver(() => { |
| | | handleResize(); |
| | | }); |
| | | resizeObserver.observe(container); |
| | | } |
| | | }); |
| | | |
| | | onBeforeUnmount(() => { |
| | | window.removeEventListener("resize", handleResize); |
| | | if (resizeObserver) { |
| | | resizeObserver.disconnect(); |
| | | } |
| | | }); |
| | | </script> |
| | | |