记一次使用 removeEventListener 移除事件监听失败的经历 记一次使用 removeEventListener 移除事件监听失败的经历

记一次使用 removeEventListener 移除事件监听失败的经历

<template>
  <page-view :title="title">
    <div id="myChart" ref="mapBox" style="width: 100%; height: 500px"></div>
  </page-view>
</template>
<script>
import { PageView } from '@/layouts'
import echarts from 'echarts'
// 設置圖表基礎配置項和數據
const myOption = {
  title: { text: '粒子計數器', link: 'http://localhost:8000/', subtext: '線體信息一覽表' },
  // title: {
  //     text: '折线图堆叠'
  // },
  tooltip: {
    trigger: 'axis'
  },
  legend: {
    data: ['邮件营销', '联盟广告', '视频广告', '直接访问', '搜索引擎']
  },
  grid: {
    left: '3%',
    right: '4%',
    bottom: '3%',
    containLabel: true
  },
  toolbox: {
    feature: {
      saveAsImage: {}
    }
  },
  xAxis: {
    type: 'category',
    boundaryGap: false,
    data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
  },
  yAxis: {
    type: 'value'
  },
  series: [
    {
      name: '邮件营销',
      type: 'line',
      stack: '总量',
      data: [120, 132, 101, 134, 90, 230, 210]
    },
    {
      name: '联盟广告',
      type: 'line',
      stack: '总量',
      data: [220, 182, 191, 234, 290, 330, 310]
    },
    {
      name: '视频广告',
      type: 'line',
      stack: '总量',
      data: [150, 232, 201, 154, 190, 330, 410]
    },
    {
      name: '直接访问',
      type: 'line',
      stack: '总量',
      data: [320, 332, 301, 334, 390, 330, 320]
    },
    {
      name: '搜索引擎',
      type: 'line',
      stack: '总量',
      data: [820, 932, 901, 934, 1290, 1330, 1320]
    }
  ]
}
export default {
  components: {
    PageView
  },
  data() {
    return {}
  },
  mounted() {
    // 初始化echarts實例
    this.myChart = echarts.init(this.$refs.mapBox)
    // 設置圖表的配置項和數據
    this.getData()
    // 設置圖表自定義縮放
    window.addEventListener('resize', this.resizeTheChart)
    // window.addEventListener('resize', this.resizeTheChart, false)
  },
  methods: {
    // 獲取數據,設置圖表配置項和數據1
    getData() {
      // const list = [{},{}]
      // myOption.series = list
      this.myChart.setOption(myOption)
    },
    // 獲取數據,設置圖表配置項和數據2
    // 設置圖表自定縮放1
    resizeTheChart() {
      console.log('縮放執行中~~~')
      if (this.$refs && this.$refs.mapBox) {
      const myChartNode = document.getElementById('myChart')
      if (myChartNode) {
        myChartNode.style.height = myChartNode.offsetWidth * 0.6 + 'px'
      }
      this.myChart.resize()
      }
    }
    // 設置圖表自定縮放2
  },
  computed: {
    title() {
      return this.$route.meta.title
    }
  },
  beforeDestroy() {
    window.removeEventListener('resize', this.resizeTheChart)
    // window.removeEventListener('resize', this.resizeTheChart, false)
  }
}
</script>

猜你喜欢

转载自www.cnblogs.com/sugartang/p/12539587.html