Vue3+Cli4 中使用 Echarts 5
文章目录
- 前言
- 一、按需引入
- 二、全局引入
- 三、4小时血泪史
- 1.第一个困难
- 2.第二轮太阳
- 总结
前言
最近在做这个项目,这也是驱使我探求Vue3和Echarts结合方法的原因,虽然还没做完,我挑一个页面给你们看看吧.
你可以看到右下角还没有对齐,然后轮播图也还没做,不过这都不重要了,引你进来的目的已经达到了.
一、按需引入
这个项目我用的是全局引入,图个方便,没讲究那么多,但我估计大家还是喜欢按需引入吧…
import * as echarts from 'echarts';
//只加这句就行了,而且也不用use这个东西
//组件中
import * as echarts from 'echarts/core';
import { CanvasRenderer } from 'echarts/renderers';import { BarChart } from 'echarts/charts';
//格式: import { 图表类型 } from 'echarts/charts'import {TitleComponent,TooltipComponent,GridComponent
} from 'echarts/components';
// 提示框,标题,直角坐标系组件,组件后缀都为 Componentecharts.use([TitleComponent,TooltipComponent,GridComponent,BarChart,CanvasRenderer
]);
// 注册必须的组件
好麻烦,我不想每个组件都来这么一段…
二、全局引入
我觉得你们不会愿意看这个的,尤其是在我写了按需引入的方法之后,所以,我就把它放到最后了…
你要知道全局引入就是图个方便,这会让你的项目变的相对更大,因为你把那些用不到的东西也加进来了.
官方推荐的方法就很不错(虽然我当时对官方文档没抱希望没去看), 我在官方推荐方法的基础上做了一些改动,好让它能在这样高版本的环境里正常运作.
这是官方给的方法:
点击传送到官方推荐方法
在安装echarts后同样在main.js中加这样一句:
import * as echarts from 'echarts'
//只加这一句就好,也不需要use这个东西
然后在使用的组件里注册echarts实例:
//组件中
let echarts = require("echarts/lib/echarts");
利用这个实例, 再这样初始化:
//组件中let mychart = echarts.init(document.getElementById("chart1"));
这是我的整个main.js:
import { createApp } from 'vue'
import App from './App.vue'
const app = createApp(App)
import * as echarts from 'echarts'
app.mount('#app')
三、4小时血泪史
1.第一个困难
前面说到接口改动了,这样的话我们再用原来的老套路:
import echarts from 'echarts'
Vue.prototype.$echarts = echarts
是不行的,会报错:
main.js?56d7:6 Uncaught ReferenceError: Vue is not defined.
这个就是我一直报的错误,其实倒也不是因为接口改了的问题,
这个错误是因为当时我不知道Vue3里不能再用Vue.xxx来创建实例,结但是阴差阳错让我找到了这个问题的解决方案.
至于老式的,现在我回来试了一下,Vue替换成app…也不行:
虽然只是一个警告,但页面是渲染不出来的.
2.第二轮太阳
而另一种报错情况是我根据另一位博主的教程来写的,他改进了第一种错误的写法,建议在main.js中使用:
const app = createApp(App).mount('#app')
import * as echarts from 'echarts'
app.$echarts=echarts
其实上面这部是对的;
而且这样在使用时应该是可以直接使用"$echarts"来初始化Echarts;
但是下面这步我没看明白,所以当时没有采用.
let myChart = this.$root.echarts.init(document.getElementById("myChart"));
现在回来看看其实可以直接
let myChart = $echarts.init(document.getElementById("myChart"));
不过他的答案还是给了我的很大的帮助,让我认识到了在main中添加
'import * as echarts from 'echarts'
的必要性.
这最终引导我走向了正确的道路.
我尝试了很多次,但是错误基本就是这两个了
总结
基本步骤就是这些了,大家引入过程中如果出现困难可以在评论区找到我…
这个项目做完后我打算分享出来,大概不会太久.
它是一个基于Vue3,Cli4+element-Plus+Echarts的项目.
下篇会说一下怎么让一个Echarts表动起来,其实本来打算放这篇说但是实在是有点晚了明天还得早起,只好单开一篇说了(你就是想多水两篇吧喂).
Vue3+Cli4 中使用 Echarts 5相关推荐
- 【3d地图】vue3.0中使用echarts geo3D
文章目录 前言 一.echarts是什么? 二.使用步骤 1.引入echarts库,3d地图必须安装echarts-gl依赖 2.制作地图JSON文件 3.引入到vue组件中 总结 前言 之前我们已经 ...
- 在Vue3项目中使用 Echarts 绘制股票图表的分享(五):分时图的基础上绘制出五日图
效果展示 分析:五日图其实也就是展示了相当于五天的分时图的数据量:对比前面的分时图绘制效果,我们可以发现:它多出了对这五天内的现价做个最高价和最低价的标注,并且对最新时间段的现价数据做个闪烁点+涟漪特 ...
- 在Vue3项目中使用 Echarts 绘制股票图表的分享(三):绘制成交量图
效果展示 分析: 根据需要实现的效果图,我们可以进行分析,这是一个由柱状图且柱子有红绿两种颜色制作而成的成交量图. 绘制柱状图 在开始写代码之前,我们依然可以去参考一下官方的一些示例,并进行分析.Ec ...
- 在vue3 中使用echarts
在SetUp中使用echarts 在setup中可以直接引入文件 import { onMounted } from "vue"; import * as echarts from ...
- vue3中,echarts使用(一)——柱状图和折线图的结合使用
vue3中,echarts使用(一)--柱状图和折线图的结合使用 官网:https://echarts.apache.org/zh/index.html 官网示例:https://echarts.ap ...
- vue3中,echarts使用(四)02——柱状图之堆叠条形图-定制化 封装切换tag标签组件 封装title组件
vue3中,echarts使用(四)02--柱状图之堆叠条形图-定制化 & 封装切换tag标签组件 & 封装title组件 效果 代码 1.主页面 index.vue <temp ...
- Vue3+CLI4 使用Element-ui
Vue3+CLI4 项目中如何使用Element 文章目录 Vue3+CLI4 项目中如何使用Element 前言 一.解决过程 二.如何引入 1.关于引入组件 总结 前言 使用中报错请看第一大节,准 ...
- 【Echarts】在Vue中使用Echarts
在Vue中使用Echarts 引入第三方库vue-echarts vue-echarts安装与使用 vue2中使用Echarts vue-echarts安装 vue2中使用Echarts vue3中使 ...
- 如何在 Vue 项目中使用 echarts
数据的重要性我们大家都知道,就算再小的项目中都可能使用几个图表展示,我最近在做项目的过程中也是需要用到图表,最后选择了echarts 图表库,为什么选择 echarts,第一:简单上手容易,第二:它几 ...
最新文章
- Charles是mac的iddler抓包工具
- Oracle 11g Data Guard 使用duplicate from active database 创建 standby database
- Problem 61 修改进程的显示名称
- Oracle计算两个整数的和与这两个整数的差与商
- CALL TRANSACTION - bdc_options
- How to suppress email sending when operating on Activity
- [二叉树] 二叉树中的最大路径和---leetcode124
- suse linux 文件只可读,SUSE LINUX下文件系统变只读的问题解决
- java里面的 |运算符_Java 中 | ^ 运算符的简单使用
- 清空session的方法
- (转)SpringMVC学习(六)——SpringMVC高级参数绑定与@RequestMapping注解
- 【Elasticsearch】es 增加 删除 节点
- 视频特效制作After Effects 2022 for Mac
- mysql cluster推荐配置
- 数商云供应链集采管理系统解决方案:产品特色、功能、架构全解析
- VastBase账户锁The account has been locked
- GBASE 8s 用户标示与鉴别
- 网站被挂马实用怎么解决的办法之一
- egret 微信小游戏 分享游戏截图
- [IOS]Presenting modal in iOS 13 fullscreen
热门文章
- 解决计算治理问题,详解微众银行大数据平台中间件Linkis架构和应用
- Google排名第一的编程语言,死磕它这两点,小白也能学的会!不信你看!
- Uber首位App开发者离职自述:我们如何从3人小作坊变成大公司
- 三大运营商将上线 5G 消息;苹果谷歌联手,追踪 30 亿用户;jQuery 3.5.0 发布 | 极客头条...
- 智能穿戴市场群雄逐鹿,OPPO入局能没有杀手锏?
- 未来五年,物联网将迎来什么样的蜕变?
- 为什么说“大公司的技术顽疾根本挽救不了”?
- 华为暂停一般性社招;嘀嗒出行系统崩溃;美团和摩拜账号互通 | 极客头条
- 人事管理系统整站php,卡盟整站程序源码 php版
- mysql重置密码报错,吐血整理