javascript - 单击 Angular 8 滚动到页面顶部

标签 javascript angular typescript

我有 Angular 8 应用程序。

我有下一个和上一个的导航按钮。但所以我想实现当触发下一个时您将导航到页面顶部。

所以我有这个:

 <h4 id="heading"  #goUp class="echeq-title">{{ currentEcheqPage.title }}</h4>

和 ts 文件:

export class EcheqPageComponent implements OnInit, AfterViewInit {

  @Input() currentEcheqPage: EcheqPage;
  @Input() currentEcheqPager: EcheqPager;
  @ViewChild('goUp', {static: false}) contentPage: ElementRef;

  // We use template variables to query the components
  @ViewChildren('echeqElement') elementComponents: QueryList<EcheqElementComponent>;

  EcheqElement = EcheqElement;
  elementsChanged = true;
  container: HTMLElement;

  constructor( private echeqService: EcheqService ) { }

  ngOnInit() {
    // document.getElementById ('heading').scrollIntoView();
  }

  ngAfterViewInit(): void { 
    this.showUp();

  }
}

private showUp(): void {
    this.contentPage.nativeElement.scrollTo( 0, 0 );
  }



但我没有收到错误。但它也没有导航到页面顶部。在本例中为 h4 标题。

那么我必须改变什么?

谢谢。

最佳答案

TypeScript/JavaScript 中的文档对象有一个名为“scrollIntoView”的函数,可用于滚动到特定元素。在您的情况下,您可以创建一个函数,如下面的代码片段所示:

showUp() {
    const element = document.querySelector('#goUp');
    element.scrollIntoView();
}

希望对您有帮助。 :-)

关于javascript - 单击 Angular 8 滚动到页面顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61599597/

相关文章:

javascript - 加载图像后的类变量

html - 如何在同一个组件中定义两个管道

angular - 如何使用 angular CLI 排除 lint 目录下的所有文件?

Angular 类型错误 : is not a function when trying to call an object. 对象 []. 方法

angular - 如何在 angular2 中使用 THREE.CSS3DRenderer

javascript - 如何在 Kendo-UI 网格中创建单独的列模板

javascript - 如何在没有 Ext.Loader 的情况下在生产中运行 EXTjs

javascript - 将ajax数据放入html并显示在页面上的最佳方法

angular - 错误 TS2322 : Type 'Object' is not assignable to type 'Movie' ? Angular 7

html - 迭代 mat-table Angular 中的数据源