最新提醒:
本文演示案例:主要看第三次更新+第二次更新的“安装echarts所和写相关代码”
博主简介
- IP:互联网IT前端开发|《Kaimana学习室》知识星球主理人。专注思维干货、个人成长、知识社群。
- 合作:前端开发(web/h5/小程序)等,联系方式请看主页简介。
- 福利:关注公众号(主页简介和底部信息卡片),回复:“学习礼包”,有我精心整理的100G+的IT学习资料~
目录
一、 vue3项目初始化
vue3项目初始化(我自己用的是pnpm进行创建 ,用npm也可以的 )
pnpm create vue@latest
跟着步骤进行
二、安装echarts和配置
pnpm install echarts vue-echarts
三、echarts所需的相关代码
在src/main.js中写入以下代码:
import { createApp } from 'vue'
import { createPinia } from 'pinia'
import App from './App.vue'
import router from './router'
// 引入echarts
import Echarts from 'vue-echarts'
import * as echarts from 'echarts'
const app = createApp(App)
app.use(createPinia())
// 使用组件
app.component('e-charts',Echarts)
// 全局挂载 echarts
app.config.globalProperties.$echarts = echarts
app.use(router)
app.mount('#app')
vue3项目调试运行的页面默认是这里,所以我们直接在HomeView组件中进行书写代码。
src/views/HomeView.vue:
(在代码中会简单进行解释。建议手敲代码增加熟练度,如果嫌麻烦,也可以直接将代码复制拷贝到HomeView.vue中)
//HomeView.vue
<script setup>
import { ref,computed } from 'vue';
//模拟数据value的字段对应Y轴,name字段对应X轴
const data=ref([
{value:11,name:'A'},
{value:31,name:'B'},
{value:75,name:'C'},
{value:25,name:'D'},
{value:16,name:'E'},
])
const option=computed(()=>{
return{
xAxis:{
type:'category',
data:data.value.map(v=>v.name)
},
yAxis:{
type:'value',
},
series:[
{
type:'line',
data:data.value.map(v=>v.value)
}
]
}
})
// 定时更新数据 每一秒更新一次数据
setInterval(()=>{
data.value=data.value.map(item=>({
...item,
value:Math.random()*100, //Math()随机函数,这里是随机生成100以内的数字
}))
},1000) //单位ms,1000ms即是1秒
</script>
<template>
<e-charts class="chart" :option="option" />
</template>
<style>
.chart{
height: 400px;
}
</style>
四、调试和运行
进行调试,先在集成终端pnpm dev一下
打开运行地址
大功告成~
第二次更新-24/11/13
有网友反馈使用不了,这次我用npm重新进行演示一下。
第二次更新,演示案例使用node版本18.16.0)
1、创建项目
npm create vue@latest
按需进行配置:
按步骤依次输入指令:
(根据绿色提示指令来,如果你按我上述的配置,那么我们的显示结果就是一样的)
打开运行地址:
2、安装echarts和写相关代码
2.1、在项目目录下打开终端,输入以下指令,安装echarts所需要的包
npm install echarts vue-echarts
2.2、完成以下配置(src/main.js)。
如果你正常跟着我做的步骤来,直接复制以下代码到main.js即可。
import './assets/main.css'
import { createApp } from 'vue'
import { createPinia } from 'pinia'
import App from './App.vue'
import router from './router'
// 引入echarts
import Echarts from 'vue-echarts'
import * as echarts from 'echarts'
const app = createApp(App)
// 使用组件
app.component('e-charts', Echarts)
// 全局挂载 echarts
app.config.globalProperties.$echarts = echarts
app.use(createPinia())
app.use(router)
app.mount('#app')
2.3、对src/views/HomeView.vue修改。
//HomeView.vue
<script setup>
import { ref,computed } from 'vue';
//模拟数据value的字段对应Y轴,name字段对应X轴
const data=ref([
{value:11,name:'A'},
{value:31,name:'B'},
{value:75,name:'C'},
{value:25,name:'D'},
{value:16,name:'E'},
])
const option=computed(()=>{
return{
xAxis:{
type:'category',
data:data.value.map(v=>v.name)
},
yAxis:{
type:'value',
},
series:[
{
type:'line',
data:data.value.map(v=>v.value)
}
]
}
})
// 定时更新数据 每一秒更新一次数据
setInterval(()=>{
data.value=data.value.map(item=>({
...item,
value:Math.random()*100, //Math()随机函数,这里是随机生成100以内的数字
}))
},1000) //单位ms,1000ms即是1秒
</script>
<template>
<e-charts class="chart" :option="option" />
</template>
<style>
.chart{
height: 400px;
width:600px;
}
</style>
2.4、关于为什么要写在HomeView中?
程序运行默认加载的页面使用了HomeView组件,直接修改HomeView组件,加载页面就可以看到echarts效果。
如果你想把echarts图表写在其他页面/组件,自行写入代码和配置相关router即可,本文为了方便演示,就把代码写在views/HomeView.vue。
2.5、重启项目
npm run dev
3、效果演示
打开运行网址
就可以看到echarts图表
(本次案例的echarts是设置了图表数据动态变化,每个人实际演示的图表折线可能会不一样)
本次案例的node版本是18.16.0
本篇文章只是演示如何快速且简单地在vue3中实现echarts图表。
一些图表的样式,图表的参数等设置,需要大家自行进行查询学习。
官网地址:Apache ECharts
第三次更新-25/07/04
1、更新说明
今天(250704)发现用node18是无法完成创建项目(npm create vue@latest)后的初始化。也就是用node18在npm install 有问题警告。导致后面的npm run dev会有报错,无法正常启动项目。
2、解决方案
使用版本较高的node版本(node22),并重新项目初始化,即可解决问题。
nvm下载
npm install nvm -g
使用nvm安装node22版本
nvm install 22
查看当前已安装的node版本
nvm ls
使用node22版本
nvm use 22
然后重新跑一遍创建项目到启动项目的流程,即可完成本篇的演示案例。
看上述“第二次更新”的内容
3、相关代码(最新创建vue3项目)
创建项目
npm create vue@latest
按需完成vue3项目的基础配置
按提示,逐条执行(npm install,注意当前是node22版本)
再走安装echarts包和撰写相关代码。
看上面的内容:第二次更新的第2点:安装echarts和写相关代码