| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> vue封装echarts并实现大小动态自适应变化---超有用哇 -> 正文阅读 |
|
[JavaScript知识库]vue封装echarts并实现大小动态自适应变化---超有用哇 |
一.先看效果:大家好呀,?????,秉着分享快乐的原则,我又来啦~ echarts不就是去官网复制然后粘贴吗,为什么要封装? 1.减少代码量,每次只要传宽度,高度与option配置项便能快速生成图表。 原先自适应存在问题(重): 1.当屏幕改变,图表不会重新动态改变并渲染:
二.详细实现:1. 组件要传的值:先分析需求,比如组件名字为my-echarts,一般传个width(宽)、height(高)、option(配置项)这三个就可以了,如:
2. 实现组件代码:在一个vue脚手架工程里,可以在components目录下新建一个 MyEcharts.vue 文件,具体功能代码看注释:
3. 基本使用:此时便可以在其它地方使用my-echarts组件,比如我在 App.vue使用该组件: 导入:
注册:
定义option数据,(可以随便去echarts官网复制一个):
定义标签:
4. 当屏幕改变,图表重新动态改变并渲染(重点):echarts自带一个resize()方法能重新渲染绘制图表,但是要手动调用它,那么我们用window.onresize事件方法,当屏幕大小改变就调用echarts的resize()方法。 在 MyEcharts.vue 组件文件里添加:
此时便可以: 5. 当图表标签的父盒子大小改变时,图表重新渲染(重):这个方法我们新建一个mixin.js文件写,随意地方建,到时导入路径写对就行,然后在MyEcharts.vue里通过混入mixin.js文件,能更方便复用,代码实现详细看注释:
在MyEcharts.vue 混入: 先定义自定义指令:
然后在混入mixin.js:
此时便实现如下: 6. 题外话:第五步,说到底,是监听dom元素变化,我用的是定时器每隔一段时间监听一次,其实并不好,浪费性能。而 ResizeObserver API 这个新特性就可以帮助我们监听一个DOM节点的变化。但是这是一个实验中的功能,有兴趣可以自行查阅看看。我也可以专门出一篇文章,需要的话,哈哈~ 三.总结:上面就是全部功能实现啦,是比较简单的,有不明白的可以评论区留言呀~😆😆😆 下次见,拜拜~ ┏(^0^)┛ 推荐一部电影给你们- - -小森林(超治愈~) 我的哔哩哔哩空间 |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 13:06:55- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |