千家信息网

vue如何实现多图表resize事件去中心化

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍vue如何实现多图表resize事件去中心化,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!多图表resize事件去中心化1.1 一般情况有时候我们会遇到这样的场
千家信息网最后更新 2026年11月01日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安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司 科技金融是不是互联网金融 互联网是不是新科技 深圳互联网科技公司 亿策互联网科技 广西互联网科技公司 狮子座互联网科技培训 互联网科技股午盘股票涨跌 互联网科技公司的市场部门 上海宁丞科技互联网 荆州市昕露互联网络科技有限公司 国大互联网教育科技有限公司工作 佛山市翊博互联网络科技有限公司 产业互联网科技服务公司 美国互联网科技公司 互联网科技收购价值 美国五大互联网科技公司市值多少 广西泛欧互联网科技有限公司 互联网科技大会大佬 互联网领先科技成果宣传视频 科技互联网企业 科技赋能下的互联网金融 麻工互联网科技 与互联网科技公司 互联网科技论文 北京禾田雨橡互联网科技 撒么互联网科技公司 注册互联网科技公司经营范围大全 四川慕妮娅互联网科技有限公司 科技互联网企业在行动
0