美文网首页高级UI
echarts的两种使用方式

echarts的两种使用方式

作者: 秋分落叶 | 来源:发表于2019-08-01 12:30 被阅读16次

    在Vue中使用echarts的两种方式

    准备:使用vue-cli脚手架

    如果你已经有自己的项目,可以跳过这一步。

    npm下载vue-cli脚手架

    (写这篇文章时用的还是vue-cli2)

    npm install -g @vue/cli
    

    初始化一个项目

    vue init webpack hello
    
    image.png

    然后等待它安装完所有的依赖包就可以了。

    下面我们开始引入echarts。

    方式一、直接引入echarts

    先npm安装echarts

    npm install echarts --save
    

    开发:

    main.js

    import myCharts from './comm/js/myCharts.js'
    Vue.use(myCharts)
    

    myCharts.js

    /**
     * 各种画echarts图表的方法都封装在这里
     * 注意:这里echarts没有采用按需引入的方式,只是为了方便学习
     */
    
    import echarts from 'echarts'
    const install = function(Vue) {
        Object.defineProperties(Vue.prototype, {
            $chart: {
                get() {
                    return {
                        //画一条简单的线
                        line1: function (id) {
                            this.chart = echarts.init(document.getElementById(id));
                            this.chart.clear();
    
                            const optionData = {
                                xAxis: {
                                    type: 'category',
                                    data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
                                },
                                yAxis: {
                                    type: 'value'
                                },
                                series: [{
                                    data: [820, 932, 901, 934, 1290, 1330, 1320],
                                    type: 'line',
                                    smooth: true
                                }]
                            };
    
                            this.chart.setOption(optionData);
                        },
                    }
                }
            }
        })
    }
    
    export default {
        install
    }
    

    HelloWorld.vue

    <template>
      <div class="hello">
        <div id="chart1"></div>
      </div>
    </template>
    
    <script>
    export default {
      name: 'HelloWorld',
      data () {
        return {
        }
      },
      mounted() {
        this.$chart.line1('chart1');
      }
    }
    </script>
    
    <style scoped>
      #chart1 {
        width: 300px;
        height: 300px;
      }
    </style>
    
    image.png

    方式二、使用vue-echarts

    先npm安装vue-echarts

    npm install vue-echarts --save
    

    开发:

    除了全量引用echarts,我们还可以采用按需引入的方式

    main.js

    import ECharts from 'vue-echarts/components/ECharts'
    import 'echarts/lib/chart/line'
    Vue.component('chart', ECharts)
    

    HelloWorld.vue

    <template>
      <div class="hello">
        <chart ref="chart1" :options="orgOptions" :auto-resize="true"></chart>
      </div>
    </template>
    
    <script>
    export default {
      name: 'HelloWorld',
      data () {
        return {
          orgOptions: {},
        }
      },
      mounted() {
        this.orgOptions = {
            xAxis: {
                type: 'category',
                data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                data: [820, 932, 901, 934, 1290, 1330, 1320],
                type: 'line',
                smooth: true
            }]
        }
      }
    }
        </script>
    

    ps:原本webpack配置需要改的,看了一下vue-echarts的官网说明是v2.3.4之后都不需要改了,所以到这里就结束了。试过打包了,没报错~

    选择

    两种方式都能实现大部分需求。

    个人认为:

    • 如果你的需求是定制化比较少的,基本上绑定数据然后展示就行了,或者你对echarts还不是很熟悉的,那么vue-echarts是一个不错的选择;
    • 如果你的需求是定制化多的,比如需要特殊处理鼠标事件什么的(当然vue-echarts也可以,但我不喜欢同时看两份API,多累呀),又或者你已经对echarts比较熟悉了(那你就不会看这篇文章了哈哈),你会发现Echarts官方文档写得真是清晰明了,直接用着也很爽呀完全没问题呀,那么我会更倾向于直接使用echarts。

    我刚开始一两个项目的时候用vue-echarts很舒服,上手很快,但后面做得多了,我觉得还是直接写更能满足我,Anyway,看个人选择吧!

    相关文章

      网友评论

        本文标题:echarts的两种使用方式

        本文链接:https://www.haomeiwen.com/subject/lnjqdctx.html