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 相关文章推荐
javascript小组件 原生table排序表格脚本(兼容ie firefox opera chrome)
Jul 25 Javascript
js中的replace方法使用介绍
Oct 28 Javascript
JavaScript设计模式之适配器模式介绍
Dec 28 Javascript
基于ajax实现文件上传并显示进度条
Aug 03 Javascript
轻松学习jQuery插件EasyUI EasyUI创建CRUD应用
Nov 30 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
Dec 22 Javascript
BootStrapValidator校验方式
Dec 19 Javascript
JS表单提交验证、input(type=number) 去三角 刷新验证码
Jun 21 Javascript
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
May 27 jQuery
详解为什么Vue中的v-if和v-for不建议一起用
Jan 13 Vue.js
微信小程序之高德地图多点路线规划过程示例详解
Jan 18 Javascript
vue 使用饿了么UI仿写teambition的筛选功能
Mar 01 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文件读写操作相关函数总结
2014/11/18 PHP
Laravel事件监听器用法实例分析
2019/03/12 PHP
javascript 写类方式之五
2009/07/05 Javascript
jQuery中 prop() attr()使用详解
2015/05/19 Javascript
JQuery创建DOM节点的方法
2015/06/11 Javascript
JS显示日历和天气的方法
2016/03/01 Javascript
onclick和onblur冲突问题的快速解决方法
2016/04/28 Javascript
Javascript6中字符串的四个新用法分享
2016/09/11 Javascript
Vue网页html转换PDF(最低兼容ie10)的思路详解
2017/08/24 Javascript
JavaScript调用模式与this关键字绑定的关系
2018/04/21 Javascript
vue 自定义提示框(Toast)组件的实现代码
2018/08/17 Javascript
js实现动态增加文件域表单功能
2018/10/22 Javascript
jQuery实现动态生成年月日级联下拉列表示例
2019/05/11 jQuery
webpack是如何实现模块化加载的方法
2019/11/06 Javascript
使用JavaScript计算前一天和后一天的思路详解
2019/12/20 Javascript
vue.js使用v-model实现父子组件间的双向通信示例
2020/02/05 Javascript
ElementUI 修改默认样式的几种办法(小结)
2020/07/29 Javascript
[01:30]我们共输赢 完美世界城市挑战赛开启全新赛季
2019/04/19 DOTA
约瑟夫问题的Python和C++求解方法
2015/08/20 Python
Python中函数参数设置及使用的学习笔记
2016/05/03 Python
Python实现的简单模板引擎功能示例
2017/09/02 Python
Tensorflow加载预训练模型和保存模型的实例
2018/07/27 Python
python射线法判断检测点是否位于区域外接矩形内
2019/06/28 Python
flask框架蓝图和子域名配置详解
2020/01/25 Python
Python virtualenv虚拟环境实现过程解析
2020/04/18 Python
在pycharm中创建django项目的示例代码
2020/05/28 Python
使用Keras中的ImageDataGenerator进行批次读图方式
2020/06/17 Python
html5 canvas里绘制椭圆并保持线条粗细均匀的技巧
2013/03/25 HTML / CSS
使用纯HTML5编写一款网页上的时钟的代码分享
2015/11/16 HTML / CSS
美国最大的骑马用品零售商:HorseLoverZ
2017/01/12 全球购物
经典婚礼主持开场白
2014/03/13 职场文书
信用卡逾期证明示例
2014/09/13 职场文书
财政局党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
2015年为民办实事工作总结
2015/05/26 职场文书
教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤
2021/09/25 Servers
MySQL 计算连续登录天数
2022/05/11 MySQL