zoukankan      html  css  js  c++  java
  • 在Vue中使用echarts的两种方式

    方式一、直接引入echarts

    npm install echarts --save

    开发:

    main.js

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

     myCharts.js

    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>

    方式二、使用vue-echarts

    先npm安装vue-echarts

    npm install echarts vue-echarts

    开发:

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

    main.js

    import ECharts from 'vue-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>

     

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

    个人认为:

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

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

    本文非原创转载自:https://segmentfault.com/a/1190000015453413

  • 相关阅读:
    习题2-7
    习题2-6
    习题2-5
    习题2-4
    习题2-3
    作业二 分支循环结构
    2- 8
    实验三-计算圆柱体积
    实验三-计算n个圆柱体体积
    实验3-计算圆面积
  • 原文地址:https://www.cnblogs.com/yeminglong/p/12619601.html
Copyright © 2011-2022 走看看