// 混入代码 resize-mixins.js import { debounce } from '@/utils/index' const resizeChartMethod = '$__resizeChartMethod' export default { data () { // 在组件内部将图表init的引用映射到chart属性上 return { chart: null } }, created () { window.addEventListener('resize', this[resizeChartMethod], false) }, beforeDestroy () { window.removeEventListener('reisze', this[resizeChartMethod]) }, methods: { // 通过lodash的防抖函数来控制resize的频率 [resizeChartMethod]: debounce(function () { if (this.chart) { this.chart.resize() } }, 100) } }