由于在项目中需要对数据进行可视化处理,也就是用图表展示,众所周知echarts是非常强大的插件。
npm install echarts -S
或者使用淘宝的镜像
npm install -g cnpm --registry=
cnpm install echarts -S
创建图表
首先需要全局引入
在中
// 引入echarts
import echarts from ‘echarts’
.$echarts = echarts
在中
<template>
<div>
<div :style="{width: '300px', height: '300px'}"></div>
</div>
</template>
<script>
export default {
name: 'hello',
data () {
return {
msg: 'Welcome to Your App'
}
},
mounted(){
();
},
methods: {
drawLine(){
// 基于准备好的dom,初始化echarts实例
let myChart = (('myChart'))
// 绘制图表
({
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的版本太高了,我们现在来看里面的echarts的版本
一时半会拿不准问题原因,到处搜罗了一下,发现可能是版本问题,我下载的是最新的,于是卸载了echarts,安装了低版本
npm install echarts@4.8.0 --save或者let echarts = require(‘echarts’)
发现安装低于5的版本,这三种方式引入的都可以使用
现在我把本地的依赖都清除,然后在里面把echarts删除,然后重新安装依赖看看
现在的版本是5.1.1
当使用全局引入的时候就会报错了
使用import的时候也是会报错
使用require就不会报错了
由于有大佬试过说在echarts5.0版本以上的使用这个写法import * as echarts from 'echarts’
是不会报错的我这边试了下
总结:如果echarts版本在5.0以下使用三种引入的方式都行,
如果echarts的版本在5.0以上,使用require的方式引入或者import * as echarts from 'echarts’