准备一个容器来设置滚动事件
<template>
<div class="container" ref="scroll">
<!-- 滚动内容代码 -->
</div>
</template>
写一个滚动事件方法
onScroll(){
//可滚动容器的高度
let innerHeight = this.$el.clientHeight;
//屏幕尺寸高度
let outerHeight = document.documentElement.clientHeight;
//可滚动容器超出当前窗口显示范围的高度
let scrollTop = document.documentElement.scrollTop;
//避免切换时读取到异常高度
if(scrollTop==0){
innerHeight=10000
}
//scrollTop在页面为滚动时为0,开始滚动后,慢慢增加,滚动到页面底部时,出现innerHeight < (outerHeight + scrollTop)的情况,严格来讲,是接近底部。
console.log(innerHeight + " " + outerHeight + " " + scrollTop);
if(this.isLoad){
console.log(1)
if(innerHeight <= outerHeight + scrollTop){
//此处添加自定义操作
}
}
},
设置滚动事件开关
data () {
return {
isLoad:true,
msg:"正在加载"
};
},
在生命周期函数 添加滚动事件和移除滚动事件
mounted(){
//开启滚动事件
window.addEventListener("scroll", this.onScroll);
},
destroyed(){
//关闭滚动事件
window.removeEventListener("scroll",( this.onScroll));
}
activated(){
//开启滚动事件
window.addEventListener("scroll", this.onScroll);
},
deactivated(){
//关闭滚动事件
window.removeEventListener("scroll",( this.onScroll));
},
参考官网:https://blog.csdn.net/xiasohuai/article/details/82224052 keep-alive使用
原文:https://www.cnblogs.com/vergilLu/p/14627006.html