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写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
Feb 09 Javascript
ExtJS 2.0实用简明教程之应用ExtJS
Apr 29 Javascript
VBS通过WMI监视注册表变动的代码
Oct 27 Javascript
Js获取数组最大和最小值示例代码
Oct 29 Javascript
简单时间提示DEMO从0开始一直进行计时
Nov 19 Javascript
jQuery提交多个表单的小技巧
Jul 27 Javascript
Angularjs手动解析表达式($parse)
Oct 12 Javascript
JavaScript编写九九乘法表(两种任选)
Feb 04 Javascript
详解Webpack实战之构建 Electron 应用
Dec 25 Javascript
vue中当图片地址无效的时候,显示默认图片的方法
Sep 18 Javascript
JavaScript事件委托实现原理及优点进行
Aug 29 Javascript
在vue中给后台接口传的值为数组的格式代码
Nov 12 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
php生成gif动画的方法
2015/11/05 PHP
PHP简单获取及判断提交来源的方法
2016/04/22 PHP
既简单又安全的PHP验证码 附调用方法
2016/06/02 PHP
php集成开发环境详解
2019/09/24 PHP
让元素在网页中可拖动示例代码
2013/08/13 Javascript
JS小游戏之极速快跑源码详解
2014/09/25 Javascript
简洁实用的BootStrap jQuery手风琴插件
2016/08/31 Javascript
为JQuery EasyUI 表单组件增加焦点切换功能的方法
2017/04/13 jQuery
基于input动态模糊查询的实现方法
2017/12/12 Javascript
Angular 项目实现国际化的方法
2018/01/08 Javascript
axios post提交formdata的实例
2018/03/16 Javascript
vue 每次渲染完页面后div的滚动条保持在最底部的方法
2018/03/17 Javascript
vue如何在自定义组件中使用v-model
2018/05/14 Javascript
JavaScript中变量、指针和引用功能与操作示例
2018/08/04 Javascript
layer ui插件显示tips时,修改字体颜色的实现方法
2019/09/11 Javascript
vue-socket.io接收不到数据问题的解决方法
2020/05/13 Javascript
Vue使用Ref跨层级获取组件的步骤
2021/01/25 Vue.js
python pickle 和 shelve模块的用法
2013/09/16 Python
用Python编写脚本使IE实现代理上网的教程
2015/04/23 Python
在Python的Flask框架中构建Web表单的教程
2016/06/04 Python
Python的装饰器用法学习笔记
2016/06/24 Python
Python 数据处理库 pandas进阶教程
2018/04/21 Python
Python3读取Excel数据存入MySQL的方法
2018/05/04 Python
python中使用psutil查看内存占用的情况
2018/06/11 Python
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
Python爬虫实现vip电影下载的示例代码
2020/04/20 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
2020/08/07 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
2020/11/02 Python
学习十八大精神心得体会
2013/12/31 职场文书
技校毕业生自荐信
2014/06/03 职场文书
团队队名口号大全
2014/06/06 职场文书
政府四风问题整改措施
2014/10/04 职场文书
民主生活会汇报材料
2014/12/15 职场文书
预备党员党支部意见
2015/06/02 职场文书
感恩教师节主题班会
2015/08/12 职场文书
MySQL日期时间函数知识汇总
2022/03/17 MySQL