zoukankan      html  css  js  c++  java
  • echarts 的自适应 全局封装

    /**
     * echarts 图表自适应窗口大小变化的指令
     * useage:  ①main函数中引入:import '@/directive/echartResizeHelper.js'
     *          ②echarts容器上使用指令 <div id="chart-container" v-on-echart-resize></div>        
     */
    import echarts from 'echarts'
    import Vue from 'vue';
    
    export var version = '0.0.1';
    var compatible = (/^2\./).test(Vue.version);
    if (!compatible) {
      Vue.util.warn('vue echarts resize directive ' + version + ' only supports Vue 2.x, and does not support Vue ' + Vue.version);
    }
    let HANDLER = "_vue_echarts_resize_handler"
    
    function bind(el, binding){
        unbind(el);        
        el[HANDLER]=function(){
            let chart=echarts.getInstanceByDom(el);
            if(!chart){
                return;
            }
            chart.resize();
        }
        window.addEventListener("resize",el[HANDLER])
    }
    function unbind(el){
        window.removeEventListener("resize",el[HANDLER]);
        delete el[HANDLER];
    }
    var directive = {
      bind: bind,
      unbind: unbind
    };
    const onEchartResize=Vue.directive("onEchartResize",directive)
    export {onEchartResize};
     
     
     
     
    使用+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    <template>
      <div id="myChart" v-on-echart-resize></div>
    </template>
  • 相关阅读:
    windows系统使用sketch设计的设计稿
    移动端点击按钮复制链接
    设置display:inline-block 元素间隙
    修改url中参数值
    fiddler主要图标说明
    fiddler抓包工具
    数据库删除
    having的用法
    left join on和where
    Statement和PreparedStatement有什么区别?哪个效率高?
  • 原文地址:https://www.cnblogs.com/qjh0208/p/13724756.html
Copyright © 2011-2022 走看看