vue中的_window.onresize怎么使用
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,本篇内容主要讲解"vue中的_window.onresize怎么使用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"vue中的_window.onresiz
千家信息网最后更新 2025年11月07日vue中的_window.onresize怎么使用
本篇内容主要讲解"vue中的_window.onresize怎么使用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"vue中的_window.onresize怎么使用"吧!
_window.onresize的使用
说下重点
_window.onresize只能在一个组件中使用,如果多个组件调用则会出现覆盖情况,所以我的解决方案是在App.vue中使用,获取document.documentElement.clientWidth(即浏览器宽度)存放在vuex中,别的组件只需要用computed(计算属性)将vuex的clientWidth获取,然后通过watch监听clientWidth的值,即可触发组件事件
App.vue代码
store中tool.js代码(此处进行模块化开发)
export default { namespaced: true, state: { clientWidth: 0 }, getters: {}, mutations: { resizeWidth(state, clientWidth) { state.clientWidth = clientWidth; }, }, actions: {},}组件使用
computed: { clientWidth () { return this.$store.state.Tool.clientWidth || Number(document.documentElement.clientWidth) }},watch: { clientWidth (val) { console.log(val) }},_window.onresize笔记
1.浏览器尺寸变化响应事件
_window.onresize = function(){....}这里需要注意的是,onresize响应事件处理中,获取到的页面尺寸参数是变更后的参数。
// 获取到的是变更后的页面宽度var currentWidth = document.body.clientWidth;
如果需要使用到变更之前的参数,需要建一个全局变量保存之前的参数(并且记得在onresize事件中刷新这个全局变量保存新的参数值)。
2.谷歌浏览器中
_window.onresize事件默认会执行两次(偶尔也会只执行一次,网上大部分说法认为这是Chrome的bug)。
解决方法:
一般来说推荐新建一个标志位 延时复位控制它不让它自己执行第二次,代码如下:
var firstOnResizeFire = true;//谷歌浏览器onresize事件会执行2次,这里加个标志位控制 _window.onresize = function(){ if (firstOnResizeFire) { NfLayout.tabScrollerMenuAdjust(homePageWidth); firstOnResizeFire = false; //0.5秒之后将标志位重置(Chrome的_window.onresize默认执行两次) setTimeout(function() { firstOnResizeFire = true; }, 500); } homePageWidth = document.body.clientWidth; //重新保存一下新宽度}3.页面尺寸变更事件
注意要分为尺寸增大和尺寸变小两个方向考虑。
到此,相信大家对"vue中的_window.onresize怎么使用"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
事件
参数
尺寸
组件
浏览器
浏览
代码
宽度
标志
页面
全局
内容
变量
方法
学习
控制
实用
更深
一般来说
两个
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
自考本科软件开发
计算机网络技术书籍读书心得
软件开发流程 rd
落日与网络安全
名人网络技术公司
潍柴动力软件开发岗面试
堡垒之夜的服务器未响应
软件开发和石油专业
吉林潮流软件开发过程检测中心
中国稀土数据库
手游方舟服务器招管理员
正雅信息网络技术有限公司
徐汇区营销软件开发大概费用
浙江通用软件开发收费
电商系统软件开发收费
服务器资讯
关于小学生网络安全教育小品
服务器耗流量快吗
数据库表修改一列数据类型
快速切换数据库
saoml流控添加多台服务器
如何熟悉数据库
平南县微易网络技术有限公司
服务器支持长链接数量
完成集群中服务器的域名映射配置
装sql数据库提示不兼容
浙江云软件开发工程师
数据库制作的软件有哪些内容
个体工商户做软件开发
服务器安全拓扑结构