vue 监听窗口变化对页面部分元素重新渲染操作
问题
在处理页面重新渲染时通常的做法是:
用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 监听窗口变化对页面部分元素重新渲染操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持好吧啦网。
相关文章:
1. React中的合成事件是什么原理2. Vue Element UI 表单自定义校验规则及使用3. 用css截取字符的几种方法详解(css排版隐藏溢出文本)4. CSS3实例分享之多重背景的实现(Multiple backgrounds)5. 在 XSL/XSLT 中实现随机排序6. ie6,ie7,ie8完美支持position:fixed的终极解决方案7. CSS Hack大全-教你如何区分出IE6-IE10、FireFox、Chrome、Opera8. CSS可以做的几个令你叹为观止的实例分享9. 《CSS3实战》笔记--渐变设计(一)10. chatGPT教我写compose函数的详细过程
