vue如何实现多图表resize事件去中心化
发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,这篇文章主要介绍vue如何实现多图表resize事件去中心化,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!多图表resize事件去中心化1.1 一般情况有时候我们会遇到这样的场
千家信息网最后更新 2024年12月12日vue如何实现多图表resize事件去中心化
这篇文章主要介绍vue如何实现多图表resize事件去中心化,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
多图表resize事件去中心化
1.1 一般情况
有时候我们会遇到这样的场景,一个组件中有几个图表,在浏览器resize的时候我们希望图表也进行resize,因此我们会在父容器组件中写:
mounted() { setTimeout(() => _window.onresize = () => { this.$refs.chart1.chartWrapperDom.resize() this.$refs.chart2.chartWrapperDom.resize() // ... }, 200)destroyed() { _window.onresize = null }
这样子图表组件如果跟父容器组件不在一个页面,子组件的状态就被放到父组件进行管理,为了维护方便,我们自然希望子组件的事件和状态由自己来维护,这样在添加删除组件的时候就不需要去父组件挨个修改
1.2 优化
这里使用了lodash的节流throttle函数,也可以自己实现,这篇文章也有节流的实现可以参考一下。 以Echarts为例,在每个图表组件中:
computed: { /** * 图表DOM */ chartWrapperDom() { const dom = document.getElementById('consume-analy-chart-wrapper') return dom && Echarts.init(dom) }, /** * 图表resize节流,这里使用了lodash,也可以自己使用setTimout实现节流 */ chartResize() { return _.throttle(() => this.chartWrapperDom && this.chartWrapperDom.resize(), 400) }},mounted() { window.addEventListener('resize', this.chartResize)},destroyed() { window.removeEventListener('resize', this.chartResize)}
以上是"vue如何实现多图表resize事件去中心化"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
组件
图表
事件
中心化
篇文章
内容
容器
时候
状态
参考
价值
兴趣
函数
场景
小伙
小伙伴
情况
更多
有时候
样子
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
ui跟计算机网络技术
中国网络安全全景第九版
虚拟网络技术专业
共和国网络安全法适用于
南京直播软件开发教程
网络技术哪样比较容易学
软件开发预付款长期挂账
win10媒体服务器
面向对象数据库建立的方式
上海网络安全科技有限公司
北京服务器电源批发商
网络安全汇总
湖南gps卫星授时服务器
金蝶k3hr服务器迁移
网络安全隐患的解决措施
我的世界生存普通服务器
数据库retries
焦作光子网络技术有限公司
胸痛数据库平台登录
查看数据库进程
软件开发驻场哪家好
清华三维软件开发
intel软件开发者手册
win10查看网络安全密匙
软件开发甲方给乙方的表扬信
外设联网服务器
固网java软件开发
服务器主机可以用笔记本电脑吗
数据库和人工智能的不同
小程序有数据库吗