vue2 vue3中使用Echarts详细
作者:平平无奇的cv小天才罢了 发布时间:2024-05-09 15:23:37
标签:vue2,vue3,Echarts
1、安装
npm install echarts --save
2、vue2中使用Echarts
在main.js文件中
// 引入echarts
import echarts from 'echarts'
Vue.prototype.$echarts = echarts
给定一个容器
<div id="myChart" :style="{width: '300px', height: '300px'}"></div>
echarts
初始化应在钩子函数mounted()
中,这个钩子函数是在el 被新创建的 vm.$el
替换,并挂载到实例上去之后调用
// 引入基本模板
let echarts = require('echarts/lib/echarts')
// 引入柱状图组件
require('echarts/lib/chart/bar')
// 引入提示框和title组件
require('echarts/lib/component/tooltip')
require('echarts/lib/component/title')
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'))
// 绘制图表
title: {
text: '折线图堆叠'
},
tooltip: {
trigger: 'axis'
},
legend: {
data: ['邮件营销', '联盟广告', '视频广告', '直接访问', '搜索引擎']
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
toolbox: {
feature: {
saveAsImage: {}
}
},
xAxis: {
type: 'category',
boundaryGap: false,
data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
},
yAxis: {
type: 'value'
},
series: [
{
name: '邮件营销',
type: 'line',
stack: '总量',
data: [120, 132, 101, 134, 90, 230, 210]
},
{
name: '联盟广告',
type: 'line',
stack: '总量',
data: [220, 182, 191, 234, 290, 330, 310]
},
{
name: '视频广告',
type: 'line',
stack: '总量',
data: [150, 232, 201, 154, 190, 330, 410]
},
{
name: '直接访问',
type: 'line',
stack: '总量',
data: [320, 332, 301, 334, 390, 330, 320]
},
{
name: '搜索引擎',
type: 'line',
stack: '总量',
data: [820, 932, 901, 934, 1290, 1330, 1320]
}
]
}
}
}
3、vue3中使用Echarts
因为setup
中没有this
,而且这时候还没有渲染,所以在setup
中 ,可以使用provide/inject
来把echart
引入进来
在根组件里引入echart,一般是App.vue
import * as echarts from 'echarts'
import { provide } from 'vue'
export default {
name: 'App',
setup(){
provide('echarts',echarts) //provide
},
components: {
}
}
这里需要注意的是import * as echarts from 'echarts'
, 不能 import echarts from 'echarts'
,这样会报错,因为5,0版本的echarts的接口已经变成了下面这样:
export {
EChartsFullOption as EChartsOption,
connect,
disConnect,
dispose,
getInstanceByDom,
getInstanceById,
getMap,
init,
registerLocale,
registerMap,
registerTheme
};
在需要使用的页面,定义div
<div id="home-page-traffic_chart" style="width: 600px; height: 280px">
然后在需要使用到Echarts的页面inject
export default {
name: 'data_page',
setup () {
const trafficData = ref({})
const echarts = inject('echarts')
onMounted(() => {
const myChart = echarts.init(document.getElementById('home-page-traffic_chart'))
// 绘制图表
myChart.setOption({
title: {
text: '今日话务统计'
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: [
{
type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
axisTick: {
alignWithLabel: true
}
}
],
yAxis: [
{
type: 'value'
}
],
series: [
{
name: '直接访问',
type: 'bar',
barWidth: '60%',
data: [10, 52, 200, 334, 390, 330, 220]
}
]
})
window.onresize = function () {
myChart.resize()
}
})
return {
}
}
}
效果图:
来源:https://juejin.cn/post/6981452258579841037


猜你喜欢
- pyc 文件的触发上一篇文章我们介绍了字节码,当时提到,py 文件在执行的时候会先被编译成 PyCodeObject 对象,并且该对象还会被
- 在对列表的元素进行找寻时,会频繁的说到遍历的理念。对于复杂的遍历要求,如多个列表中查找就显然不适合用for循环。本篇所要带来的是zip()
- 什么是xml?xml即可扩展标记语言,它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。abc.xml<
- pip search报错在用pip查包名时搜到的都是:pip search xxx。但这样是报错的:查找发现pip search由于一些bu
- 这次我使用ADO.NET来插入一条数据,到数据库中。主用到存储过程。我不想每次都是用SQL文本的形式了,那样始终没有进步~~~下面首先,我把
- 1、有了已经训练好的模型参数,对这个模型的某些层做了改变,如何利用这些训练好的模型参数继续训练:pretrained_params = to
- 有一次去超市换货,本能的找到服务中心,服务中心说这个业务在超市旁边一个房间里,由于忘记带小票,那个小房间的人让我去另外一个小房间调电脑里的记
- 本文介绍了tensorflow中next_batch的具体使用,分享给大家,具体如下:此处给出了几种不同的next_batch方法,该文章只
- 一、备份数据库 1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server
- 问题描述前端时间在公司的时候,要使用angular开发一个网站,因为angular很适合前后端分离,所以就做了一个简单的图书管理系统来模拟前
- go 简洁的并发多核处理器越来越普及。有没有一种简单的办法,能够让我们写的软件释放多核的威力?是有的。随着Golang, Erlang, S
- 这个错误是最新的错误哈,目前只在tensorflow上的github仓库上面有提出,所以你在百度上面找不到。是个tensorflow的bug
- 前面简单介绍了Python元组基本操作,这里再来简单讲述一下Python字典相关操作>>> dir(dict) #查看字段
- 本文主要讨论了python中getpass模块的相关内容,具体如下。getpass模块昨天跟学弟吹牛b安利Python标准库官方文档的时候偶
- MySQL如何查看元数据锁阻塞在哪里操作步骤:1、session 1 执行: start transaction;  
- 首先安装WSH,NT(SERVER、WORKSTATION)、W2K服务器上需要安装WSH2.0或者更高版本。然后,参照下列代码即可:<
- 1. 像素基本操作1.1 读取、修改像素可以通过[行,列]坐标来访问像素点数据,对于多通道数据,返回一个数组,包含所有通道的值,对于单通道数
- 一、验证码示例 二、php验证码类,secoder.class.php<?php/** * 安全验证码 * * 安全的验证码要:验证
- 重现如下: <!doctype html> <html> <head> <title>设置i
- 1. 引言本文重点介绍Python中的三个特殊函数Map,Filter和Reduce,以及如何使用它们进行代码编程。在开始介绍之前,我们先来