vue2.0项目中引入echarts

2021-05-20  本文已影响0人  夏日冰红茶

在vue-cli搭建的项目中该如何引入echarts图表呢?

1.首先npm安装echarts

npm install echarts --S
或者使用国内的淘宝镜像:npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install echarts --S

如果运行程序报错卸载并降低Echarts版本(首先看一下package.json里echarts里安装的版本,我遇到的情况是5.1的版本,图总是不出来,首先卸载npm uninstall echarts,然后安装低级版本echarts:npm install echarts@4.9.0 --save)

2.全局引入

在Vue-cli构建的项目中找到main.js文件,然后全局引入echarts // 引入echarts

import echarts from 'echarts'
Vue.prototype.$echarts = echarts

页面应用

<div style="width:30%;height:10%" ref="chart"></div>

js部分:

<script>
  export default {
   mounted() {
      this.initCharts();
   },
     methods: {
        initCharts() {
              let myChart = this.$echarts.init(this.$refs.chart);
              myChart.setOption({
                title: {
                  text: "目标文件类型图",
                  left: "center",
                },
                tooltip: {
                  trigger: "item",
                },
                legend: {
                  orient: "vertical",
                  left: "left",
                },
                series: [
                  {
                    name: "访问来源",
                    type: "pie",
                    radius: "50%",
                    data: [
                      {
                        value: 1048,
                        name: "军事目标",
                        itemStyle: {
                          color: "#ee6666",
                        },
                      },
                      {
                        value: 735,
                        name: "工业目标",
                        itemStyle: {
                          color: "#91cc75",
                        },
                      },
                      {
                        value: 580,
                        name: "交通目标",
                        itemStyle: {
                          color: "#fac858",
                        },
                      },
                      {
                        value: 484,
                        name: "城市目标",
                        itemStyle: {
                          color: "#2455a4",
                        },
                      },
                      {
                        value: 300,
                        name: "其它",
                        itemStyle: {
                          color: "#73c0de",
                        },
                      },
                    ],
                    emphasis: {
                      itemStyle: {
                        shadowBlur: 10,
                        shadowOffsetX: 0,
                        shadowColor: "rgba(0, 0, 0, 0.5)",
                      },
                    },
                  },
                ],
            });
         },
     }  
  }
</script>

注意: 这里echarts初始化应在钩子函数mounted()中,这个钩子函数是在el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用

3. 局部引用

上面全局引入会将所有的echarts图表打包,导致体积过大,所以可以局部引入,就是 根据单个页面的需要在自己的页面里引入使用。这样就不需要在main.js文件里引入文件了。在需要的图表的文件里引入。

// 引入基本模板
let echarts = require('echarts/lib/echarts')
// 引入柱状图组件
require('echarts/lib/chart/pie')
// 引入饼图组件
require('echarts/lib/chart/bar')
// 引入提示框和title组件
require('echarts/lib/component/tooltip')
require('echarts/lib/component/title')
注意:这里之所以使用 require 而不是 import,是因为 require 可以直接node_modules 中查找,而 import 必须把路径写全。

上一篇 下一篇

猜你喜欢

热点阅读