添加 ngAfterViewChecked 后 scrollTop 不工作
scrollTop not working after adding ngAfterViewChecked
我需要添加 MovetoTop 和 MovetoBottom 按钮。
我还需要在页面加载时自动移动到底部。
代码不工作。(只有 scrollToBottom
函数工作,scrollToTop
函数不工作)调用 scrollToBottom
函数后 ngAfterViewChecked
.
请帮忙
在这里分享我的代码。
打字稿
import { Component, OnInit, ViewChild, ElementRef, AfterViewChecked } from '@angular/core';
import { Router } from '@angular/router';
@Component({
selector: 'app-review',
templateUrl: './review.component.html',
styleUrls: ['./review.component.scss']
})
export class ReviewComponent implements OnInit {
@ViewChild('scrollMe', { read: ElementRef }) public scroll: ElementRef;
ngAfterViewChecked() {
this.scrollToBottom();
}
public scrollToBottom() {
console.log(this.scroll.nativeElement.scrollTop);
this.scroll.nativeElement.scrollTop = this.scroll.nativeElement.scrollHeight;
}
public scrollToTop() {
this.scroll.nativeElement.scrollTop = 0;
}
}
HTML
<div #scrollMe style="overflow: scroll; overflow-x: hidden;height:100%;">
Hai
</div>
在 scrollToTop()
函数中试试这个..
public scrollToTop() {
this.scroll.nativeElement.scrollTop(0);
}
我需要添加 MovetoTop 和 MovetoBottom 按钮。
我还需要在页面加载时自动移动到底部。
代码不工作。(只有 scrollToBottom
函数工作,scrollToTop
函数不工作)调用 scrollToBottom
函数后 ngAfterViewChecked
.
请帮忙
在这里分享我的代码。
打字稿
import { Component, OnInit, ViewChild, ElementRef, AfterViewChecked } from '@angular/core';
import { Router } from '@angular/router';
@Component({
selector: 'app-review',
templateUrl: './review.component.html',
styleUrls: ['./review.component.scss']
})
export class ReviewComponent implements OnInit {
@ViewChild('scrollMe', { read: ElementRef }) public scroll: ElementRef;
ngAfterViewChecked() {
this.scrollToBottom();
}
public scrollToBottom() {
console.log(this.scroll.nativeElement.scrollTop);
this.scroll.nativeElement.scrollTop = this.scroll.nativeElement.scrollHeight;
}
public scrollToTop() {
this.scroll.nativeElement.scrollTop = 0;
}
}
HTML
<div #scrollMe style="overflow: scroll; overflow-x: hidden;height:100%;">
Hai
</div>
在 scrollToTop()
函数中试试这个..
public scrollToTop() {
this.scroll.nativeElement.scrollTop(0);
}