vue directive(指令)形式使用echarts

安裝 echarts依賴: npm install echarts --save

新建指令文件 echarts.js

import Vue from 'vue';
// 引入echarts主模塊
import echarts from 'echarts'
export default {
  deep: true,
  bind: (el, binding) => {
    Vue.nextTick(() => {
      el.echartsInstance = echarts.init(el);

      el.resizeEventHandler = function () {
        el.echartsInstance.resize();
      };

      if (window.attachEvent) {
        window.attachEvent('onresize', el.resizeEventHandler);
      } else {
        window.addEventListener('resize', el.resizeEventHandler, false);
      }
    });
  },
  update (el, binding) {
    Vue.nextTick(() => {
      el.echartsInstance.setOption(binding.value);
    });
  },
  unbind: (el) => {
    el.echartsInstance.dispose();

    let _this = this;

    if (window.attachEvent) {
      window.detachEvent('onresize', _this.resizeEventHandler);
    } else {
      window.removeEventListener('resize', _this.resizeEventHandler, false); ;
    }
  }
}

指令使用

// 引入指令文件
import echarts from '../directive/echarts.js'

// 寫入指令
directives: {
    echarts
  }

// 在頁面中引用
<div v-echarts='echartsOption' id="echarts" class="echarts-box"></div>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容