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 相关文章推荐
10款非常有用的 Ajax 插件分享
Mar 14 Javascript
jQuery实现只允许输入数字和小数点的方法
Mar 02 Javascript
微信小程序实现图片预加载组件
Jan 18 Javascript
JS触摸与手势事件详解
May 09 Javascript
第一次记录Bootstrap table学习笔记(1)
May 18 Javascript
Popup弹出框添加数据实现方法
Oct 27 Javascript
ES6 如何改变JS内置行为的代理与反射
Feb 11 Javascript
小程序云函数调用API接口的方法
May 17 Javascript
vue 实现Web端的定位功能 获取经纬度
Aug 08 Javascript
三步实现ionic3点击退出app程序
Sep 17 Javascript
JavaScript快速调试的两个技巧
Nov 04 Javascript
vue Element-ui表格实现树形结构表格
Jun 07 Vue.js
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
php 上传文件类型判断函数(避免上传漏洞 )
2010/06/08 PHP
php 判断访客是否为搜索引擎蜘蛛的函数代码
2011/07/29 PHP
php在线代理转向代码
2012/05/05 PHP
joomla数据库操作示例代码
2016/01/06 PHP
PHP的PDO错误与错误处理
2019/01/27 PHP
PHP token验证生成原理实例分析
2019/06/05 PHP
jquery实现居中弹出层代码
2010/08/25 Javascript
jquery实现文本框鼠标右击无效以及不能输入的代码
2010/11/05 Javascript
JavaScript实现信用卡校验方法
2015/04/07 Javascript
JS组件Bootstrap Table使用实例分享
2016/05/30 Javascript
详解微信小程序开发之下拉刷新 上拉加载
2016/11/24 Javascript
详解JavaScript常量定义
2017/01/03 Javascript
bootstrap daterangepicker汉化以及扩展功能
2017/06/15 Javascript
js实现canvas图片与img图片的相互转换的示例
2017/08/31 Javascript
禁止弹窗中蒙层底部页面跟随滚动的几种方法
2017/12/07 Javascript
angularJS的radio实现单项二选一的使用方法
2018/02/28 Javascript
js+css实现打字效果
2020/06/24 Javascript
vue中$set的使用(结合在实际应用中遇到的坑)
2018/07/10 Javascript
Vue使用轮询定时发送请求代码
2020/08/10 Javascript
[01:22:19]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
[38:39]KG vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
[01:11:21]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第一场 3月6日
2021/03/11 DOTA
用python与文件进行交互的方法
2018/03/01 Python
Python基础之函数原理与应用实例详解
2020/01/03 Python
python多维数组分位数的求取方式
2020/03/03 Python
利用python生成照片墙的示例代码
2020/04/09 Python
利用Python pandas对Excel进行合并的方法示例
2020/11/04 Python
使用CSS3的::selection改变选中文本颜色的方法
2015/09/29 HTML / CSS
18-35岁旅游团的全球领导者:Contiki
2017/02/08 全球购物
大韩航空官方网站:Korean Air
2017/10/25 全球购物
荷兰音乐会和音乐剧门票订购网站:Topticketshop
2019/08/27 全球购物
服装设计专业毕业生推荐信
2013/11/09 职场文书
让生命充满爱演讲稿
2014/05/10 职场文书
树转促学习心得体会
2014/09/10 职场文书
mysql如何能有效防止删库跑路
2021/10/05 MySQL