vue3动态监听浏览器窗口变化实例

 更新时间:2023年07月04日 08:33:55   作者:more名奇妙  
这篇文章主要给大家介绍了关于vue3动态监听浏览器窗口变化的相关资料,文中通过实例代码介绍的非常详细,对大家学习或者使用vue3具有一定的参考学习价值,需要的朋友可以参考下

定义一个属性记录宽度

const screenWidth = ref(window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth)

在 vue mounted 的时候 去挂载一下 window.onresize 方法

  onMounted(() => {
      window.onresize = () => {
        return (() => {
          screenWidth.value = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth
        })()
      }
    })

去监听这个 属性值的变化,如果发生变化则讲这个 val 传递给 this.screenWidth

 watch(() => screenWidth, (val) => {
      screenWidth.value = val
    })

这样screenWidth就跟随浏览器的窗口大小动态变化了

进行使用

    const programHaplomultiple = computed(() => {
      return (screenWidth.value * 0.52) / infoContent.value.width / 320
    })

附:vue3监听窗口变化来进行页面操作

当需要监听窗口的宽度变化来对页面进行dom隐藏或修改时,操作如下

onMounted(()=>{
//监听窗口变化
window.onresize=()=>{
return(()=>{
window.screenWidth=document.body.clientWidth;
viewWidth.value=window.screenWidth;
})();
};
});
//视口宽度
const vieWith=ref(document.documentElement.clientWidth||document.body.clientWidth);

视口宽度就可以获取到了,直接用vieWith的值就可以来判断dom的隐藏或修改啦

总结

到此这篇关于vue3动态监听浏览器窗口变化的文章就介绍到这了,更多相关vue3动态监听浏览器窗口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue2 element 表头查询功能实现代码

    Vue2 element 表头查询功能实现代码

    本文介绍Vue2中Element UI表格自定义表头及查询功能实现,需通过slot-scope绑定数据,注意Vue2.6+版本改用#header语法,并提供示例代码说明,感兴趣的朋友一起看看吧
    2025-07-07
  • 解决Vue路由导航报错:NavigationDuplicated: Avoided redundant navigation to current location

    解决Vue路由导航报错:NavigationDuplicated: Avoided redundant navig

    这篇文章主要给大家介绍了关于解决Vue路由导航报错:NavigationDuplicated: Avoided redundant navigation to current location的相关资料,这是最近做项目时候遇到的一个问题,现将解决办法分享出来,需要的朋友可以参考下
    2023-01-01
  • vue3在单个组件中实现类似mixin的事件调用

    vue3在单个组件中实现类似mixin的事件调用

    这篇文章主要为大家详细介绍了vue3如何在单个组件中实现类似mixin的事件调用,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-01-01
  • Element plus 表单中下拉框的空值问题解决

    Element plus 表单中下拉框的空值问题解决

    有时候会碰到查询条件需要用下拉框来区分的时候,比如需要区分全部 | 启用 | 停用三个状态,这时一般会给全部的value值设置为'',但是这样会导致下拉框无法选中对应的全部选项,本文就来介绍一下这个问题解决,感兴趣的可以了解一下
    2024-11-11
  • 一文详解Vue中可重用组件的3个主要问题

    一文详解Vue中可重用组件的3个主要问题

    当我们谈论或讨论在 Vue 中创建用户界面组件时,经常会提到可重用性,在 Vue 中创建真正的可重用组件可能很棘手,在本文中,我将探讨可重用组件的概念、应用这些组件时面临的问题,以及为什么必须尽可能克服这些问题,需要的朋友可以参考下
    2023-10-10
  • 基于Ant-design-vue的Modal弹窗 封装 命令式与Hooks用法

    基于Ant-design-vue的Modal弹窗 封装 命令式与Hooks用法

    这篇文章主要给大家介绍了基于Ant-design-vue的Modal弹窗封装命令式与Hooks用法,文中有详细的代码示例,具有一定的参考价值,感兴趣的同学可以借鉴阅读
    2023-06-06
  • axios对请求各种异常情况处理的封装方法

    axios对请求各种异常情况处理的封装方法

    今天小编就为大家分享一篇axios对请求各种异常情况处理的封装方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • vue中的inject学习教程

    vue中的inject学习教程

    本文通过实例代码给大家介绍了vue中的inject学习教程,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2019-04-04
  • vue如何截取字符串

    vue如何截取字符串

    这篇文章主要介绍了vue如何截取字符串,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • 在Vue中使用Echarts+封装

    在Vue中使用Echarts+封装

    这篇文章主要介绍了在Vue中使用Echarts++封装,需要的朋友可以参考下
    2023-11-11

最新评论