vue 监听窗口变化对页面部分元素重新渲染操作


Posted in Javascript onJuly 28, 2020

问题

在处理页面重新渲染时通常的做法是:

用vue-router重新路由到当前页面,页面是不进行刷新的

采用window.reload(),或者router.go(0)刷新时,整个浏览器进行了重新加载,闪烁,体验不好

使用 v-if 重新渲染部分组件或容器

需要重新渲染的内容

<div v-if="render">
 ...
</div>

vue 监听窗口大小发生改变

使用 window.addEventListener() 添加 resize 事件监听窗口变化

new Vue({
 el: '#app',
 data() {
  return { render: true }
 },
 mounted() {
  window.addEventListener('resize', this.reload)
 },
 beforeDestroy() {
  window.removeEventListener('resize', this.reload)
 },
 methods: {
  reload() {
   // 重新渲染
   this.render = false
   this.$nextTick(() => {
    this.render = true
   })
  }
 }
})

补充知识:vue同一个路由,但参数发生变化,页面不刷新的问题(vue监听路由参数变化重新渲染页面)

我就废话不多说了,大家还是直接看代码吧~

watch: {
 $route: function(newVal, oldVal) {
  console.log(oldVal); //oldVa 上一次url
  console.log(newVal); //newVal 这一次的url
  if (newVal != oldVal) {
   this.loading();//重新调用加载函数
  }
 }
}

以上这篇vue 监听窗口变化对页面部分元素重新渲染操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery 工具函数学习资料
Apr 29 Javascript
jquery中交替点击事件toggle方法的使用示例
Dec 08 Javascript
实现图片预加载的三大方法及优缺点分析
Nov 19 Javascript
EasyUi combotree 实现动态加载树节点
Apr 01 Javascript
Ionic项目中Native Camera的使用方法
Jun 07 Javascript
JS 实现banner图片轮播效果(鼠标事件)
Aug 04 Javascript
jQuery实现的form转json经典示例
Oct 10 jQuery
jQuery+PHP实现上传裁剪图片
Jun 29 jQuery
vue-music 使用better-scroll遇到轮播图不能自动轮播问题
Dec 03 Javascript
微信小程序自定义导航栏实例代码
Apr 05 Javascript
详解vue-cli3多页应用改造
Jun 04 Javascript
js Math数学简单使用操作示例
Mar 13 Javascript
JavaScript文档加载模式以及元素获取
Jul 28 #Javascript
javascript实现贪吃蛇小游戏
Jul 28 #Javascript
Element DateTimePicker日期时间选择器的使用示例
Jul 27 #Javascript
Js图片点击切换轮播实现代码
Jul 27 #Javascript
在vue中实现echarts随窗体变化
Jul 27 #Javascript
Vue组件跨层级获取组件操作
Jul 27 #Javascript
vue 解决兄弟组件、跨组件深层次的通信操作
Jul 27 #Javascript
You might like
杏林同学录(三)
2006/10/09 PHP
php二分法在IP地址查询中的应用
2008/08/12 PHP
php表单提交问题的解决方法
2011/04/12 PHP
供参考的 php 学习提高路线分享
2011/10/23 PHP
几种有用的变型 PHP中循环语句的用法介绍
2012/01/30 PHP
PHP基于curl后台远程登录正方教务系统的方法
2016/10/14 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
2020/05/27 PHP
js以对象为索引的关联数组
2010/07/04 Javascript
js淡入淡出的图片轮播效果代码分享
2015/08/24 Javascript
JS实现的竖向折叠菜单代码
2015/10/21 Javascript
Javascript复制实例详解
2016/01/28 Javascript
javascript高级选择器querySelector和querySelectorAll全面解析
2016/04/07 Javascript
JS控制层作圆周运动的方法
2016/06/20 Javascript
Javascript实现登录记住用户名和密码功能
2017/03/22 Javascript
巧用weui.topTips验证数据的实例
2017/04/17 Javascript
深入理解node.js之path模块
2017/05/03 Javascript
jquery与js实现全选功能的区别
2017/06/11 jQuery
详解在React里使用&quot;Vuex&quot;
2018/04/02 Javascript
async/await地狱该如何避免详解
2018/05/10 Javascript
vue2过滤器模糊查询方法
2018/09/16 Javascript
layui动态加载多表头的实例
2019/09/05 Javascript
vue项目中使用particles实现粒子背景效果及遇到的坑(按钮没有点击响应)
2020/02/11 Javascript
Vue Elenent实现表格相同数据列合并
2020/11/30 Vue.js
[02:12]探秘2016国际邀请赛中国区预选赛选手房间
2016/06/25 DOTA
Centos5.x下升级python到python2.7版本教程
2015/02/14 Python
在Python上基于Markov链生成伪随机文本的教程
2015/04/17 Python
Python第三方库的安装方法总结
2016/06/06 Python
python调用OpenCV实现人脸识别功能
2018/05/25 Python
python3连接kafka模块pykafka生产者简单封装代码
2019/12/23 Python
Keras自定义实现带masking的meanpooling层方式
2020/06/16 Python
法国家具及室内配件店:home24
2017/01/21 全球购物
Chicco婴儿用品美国官网:汽车座椅、婴儿推车、高脚椅等
2018/11/05 全球购物
成人毕业生自我鉴定
2013/10/18 职场文书
学生思想表现的评语
2014/01/30 职场文书
2014学生会工作总结报告
2014/12/02 职场文书
深入理解以DEBUG方式线程的底层运行原理
2021/06/21 Java/Android