| | |
| | | <script> |
| | | import * as echarts from 'echarts'; |
| | | let holaChart = null; |
| | | |
| | | let observer = null; |
| | | const config = { |
| | | tooltip: { |
| | | trigger: 'item' |
| | |
| | | holaChart.setOption(config, true); |
| | | } |
| | | |
| | | }, |
| | | // 监听变化 |
| | | observe() { |
| | | if (!observer) { |
| | | observer = new ResizeObserver(entries => { |
| | | this.handleResize(); |
| | | }) |
| | | } |
| | | observer.observe(this.$refs.hola); |
| | | }, |
| | | // 窗口变换 |
| | | handleResize() { |
| | | if (holaChart) { |
| | | holaChart.resize(); |
| | | } |
| | | } |
| | | }, |
| | | watch: { |
| | |
| | | mounted() { |
| | | holaChart = echarts.init(this.$refs.hola); |
| | | holaChart.setOption(config, true); |
| | | } |
| | | this.observe(); |
| | | |
| | | }, |
| | | beforeDestroy() { |
| | | if (holaChart) { |
| | | holaChart.dispose(); |
| | | observer.unobserve(this.$refs.hola); |
| | | } |
| | | }, |
| | | } |
| | | </script> |
| | | |