我的编程空间,编程开发者的网络收藏夹
学习永远不晚

vue中的window.onresize怎么使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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代码

<script>export default {  name: 'app',  mounted () {    window.onresize = () => {      this.clientWidthResize()    }  },  methods: {    clientWidthResize () {      this.$store.commit('Tool/resizeWidth', Number(document.documentElement.clientWidth))    }  }}</script>

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怎么使用”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

vue中的window.onresize怎么使用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

vue中的window.onresize怎么使用

本篇内容主要讲解“vue中的window.onresize怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue中的window.onresize怎么使用”吧!window.onresiz
2023-06-30

vue在mounted中window.onresize不生效怎么解决

这篇文章主要介绍“vue在mounted中window.onresize不生效怎么解决”,在日常操作中,相信很多人在vue在mounted中window.onresize不生效怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作
2023-06-30

vue中vue-router怎么使用

这篇文章主要介绍“vue中vue-router怎么使用”,在日常操作中,相信很多人在vue中vue-router怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue中vue-router怎么使用”的疑
2023-06-30

vue中的store怎么使用

本篇内容主要讲解“vue中的store怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue中的store怎么使用”吧!在vue中,store用于管理状态、共享数据以及在各个组件之间管理外
2023-06-29

Vue中的eventBus怎么使用

本篇内容主要讲解“Vue中的eventBus怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue中的eventBus怎么使用”吧!1. 简介Vue 组件中常见的有:父子组件通信、兄弟组件
2023-06-29

vue中的math.sqrt怎么使用

这篇文章主要讲解了“vue中的math.sqrt怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue中的math.sqrt怎么使用”吧!在vue中,“math.sqrt”方法用于返回
2023-06-29

Vue中的$forceUpdate()怎么使用

这篇文章主要讲解了“Vue中的$forceUpdate()怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue中的$forceUpdate()怎么使用”吧!$forceUpdate(
2023-06-29

vue中的token怎么使用

这篇文章主要介绍了vue中的token怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue中的token怎么使用文章都会有所收获,下面我们一起来看看吧。vue中token是在服务端产生的一串字符串,以作
2023-07-05

Vue中的插槽怎么使用

这篇“Vue中的插槽怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue中的插槽怎么使用”文章吧。默认插槽首先做一个
2023-06-30

Vue中map()怎么使用

本篇内容主要讲解“Vue中map()怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue中map()怎么使用”吧!一、map()是什么?其实我也不清楚,会用就好啦。数组操作是前端最重要的
2023-07-02

vue中怎么使用geobuf

本篇内容介绍了“vue中怎么使用geobuf”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!需要安装geobuf和pbf这两个库cnpm i
2023-06-29

vue中nexttic怎么使用

这篇文章主要介绍了vue中nexttic怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue中nexttic怎么使用文章都会有所收获,下面我们一起来看看吧。在vue中,nexttick()用于将回调函数
2023-06-29

vue中怎么使用websocket

这篇文章主要介绍“vue中怎么使用websocket”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue中怎么使用websocket”文章能帮助大家解决问题。1. 在utils下新建websocke
2023-06-29

Vue中watch怎么使用

这篇文章主要介绍了Vue中watch怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue中watch怎么使用文章都会有所收获,下面我们一起来看看吧。一、API介绍watch(WatcherSource,
2023-07-04

vscode中怎么使用vue

今天小编给大家分享一下vscode中怎么使用vue的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。第一步:安装VS Code和
2023-07-06

Vue中的computed函数怎么使用

这篇“Vue中的computed函数怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue中的computed函数怎么
2023-07-05

Vue中的KeepAlive组件怎么使用

这篇文章主要介绍“Vue中的KeepAlive组件怎么使用”,在日常操作中,相信很多人在Vue中的KeepAlive组件怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue中的KeepAlive组件怎
2023-07-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录