项目用vue版本是2.0的,项目中用到es6
- 首先需要在data里面定义页面的高度
data (){
return {
fullHeight: document.documentElement.clientHeight
}
}
- 把window.onresize事件挂在到mounted
mounted() {
const that = this
window.onresize = () => {
return (() => {
window.fullHeight = document.documentElement.clientHeight
that.fullHeight = window.fullHeight
})()
}
}
- 监听window.onresize事件
watch: {
fullHeight (val) {
if(!this.timer) {
this.fullHeight = val
this.timer = true
let that = this
setTimeout(function (){
that.timer = false
},400)
}
}
}
这里的定时器是为了优化,如果频繁调用window.onresize方法会造成页面卡顿,增加定时器会避免频繁调用window.onresize方法