方案一
使用render2的listen方法進行監聽,之前這樣做,問題是,監聽事件觸發後,在其他元件中觸發window的滾動
this.renderer2.listen('window', 'scroll', () => {
console.log('scroll');
});
方案二
//監聽滾動,載入資料
@HostListener('window:scroll', ['$event']) public onScroll = ($event) => {
//客戶端高度
var clientH = document.documentElement.clientHeight;
//body高度
var bodyH = document.body.clientHeight;
//滾動的高度
var scrollTop = document.documentElement.scrollTop;
console.log(bodyH)
//滾動到底部60以內
if (bodyH - clientH - scrollTop < 80) {
if (!this.flag) {
console.log('翻頁');
//翻頁
this.changePage('+');
}
this.flag = true;
} else {
this.flag = false;
}
}
設定flag的目的是避免在滾動的過程中重複載入資料,到達只載入一次的目的
本作品採用《CC 協議》,轉載必須註明作者和本文連結