resizeMixins.js 839 Bytes
// 混入代码 resize-mixins.js
import { debounce } from '@/utils'
const resizeChartMethod = '$__resizeChartMethod'

export default {
  data() {
    // 在组件内部将图表 init 的引用映射到 chart 属性上
    return {
      chart: null,
    }
  },
  created() {
    this.$root.$on('resize', this[resizeChartMethod])
    // window.addEventListener('resize', this[resizeChartMethod], false)
  },
  activated() {
    // 防止 keep-alive 之后图表变形
    if (this.chart) {
      this.chart.resize()
    }
  },
  beforeDestroy() {
    // window.removeEventListener('reisze', this[resizeChartMethod])
  },
  //  methods: {
  //    // 防抖函数来控制 resize 的频率
  //    [resizeChartMethod]: debounce(function() {
  //      if (this.chart) {
  //        this.chart.resize();
  //      }
  //    }, 300),
  //  },
}