小言_互联网的博客

vue里面使用echarts

470人阅读  评论(0)

由于在项目中需要对数据进行可视化处理,也就是用图表展示,众所周知echarts是非常强大的插件。

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

创建图表
首先需要全局引入
在main.js中

// 引入echarts
import echarts from ‘echarts’
Vue.prototype.$echarts = echarts

在Echarts.vue中

<template>
  <div>
      <div id="myChart" :style="{width: '300px', height: '300px'}"></div>
  </div>
</template>

<script>
export default {
  name: 'hello',
  data () {
    return {
      msg: 'Welcome to Your Vue.js App'
    }
  },
  mounted(){
    this.drawLine();
  },
  methods: {
    drawLine(){
        // 基于准备好的dom,初始化echarts实例
        let myChart = echarts.init(document.getElementById('myChart'))
        // 绘制图表
        myChart.setOption({
            title: { text: '在Vue中使用echarts' },
            tooltip: {},
            xAxis: {
                data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
            },
            yAxis: {},
            series: [{
                name: '销量',
                type: 'bar',
                data: [5, 20, 36, 10, 10, 20]
            }]
        });
    }
  }
}
</script>

<style>

</style>

这样我们就把echarts引入了,然后在浏览器中保存下看下

使用ECharts的时候遇到了报错:
Error in mounted hook: “TypeError: Cannot read property ‘init’ of undefined”
原因:echarts的引入方式错误:
正确的echarts引入方式:

let echarts = require(‘echarts’)

其实产生这个的原因是因为echarts的版本太高了,我们现在来看package.json里面的echarts的版本

一时半会拿不准问题原因,到处搜罗了一下,发现可能是版本问题,我下载的是最新的,于是卸载了echarts,安装了低版本
npm install echarts@4.8.0 --save或者let echarts = require(‘echarts’)

发现安装低于5的版本,这三种方式引入的都可以使用

现在我把本地的依赖都清除,然后在package.json里面把echarts删除,然后重新安装依赖看看
现在的版本是5.1.1

当使用全局引入的时候就会报错了


使用import的时候也是会报错

使用require就不会报错了

总结:如果echarts版本在5.0以下使用三种引入的方式都行,
如果echarts的版本在5.0以上,只能使用require的方式引入


转载:https://blog.csdn.net/qq_34595425/article/details/116308774
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场