scrollIntoView()角度7不滚动

时间:2019-02-24 09:34:44

标签: angular typescript js-scrollintoview

我试图在我的应用程序中实现从一个组件到另一个组件的滚动,但是目前,它只是“跳转”到该组件,而不是滚动。

我尝试了以下方法:

export class HomeComponent implements OnInit {
  scroll(el: HTMLElement) {
      el.scrollIntoView({ block: 'start',  behavior: 'smooth', inline: 'nearest' });
  }

  constructor() {
  }

  ngOnInit() {
  }
}

这是我的模板:

<section class="bg-full bg-home">
  <div class="logo"></div>
  <a (click)="scroll(testPortfolio)" href="#portfolio" id="scroll-to-section">
    <img src="../../assets/arrow-scroll.svg" width="36">
  </a>
</section>
<app-about></app-about>
<app-portfolio-slider #testPortfolio></app-portfolio-slider>
<app-contact></app-contact>

或者,我也尝试过使用ViewChild(),但是由于假设undefined尚未呈现,因此我总是假定返回<app-portfolio-slider>

我需要做什么才能使滚动顺利进行?

1 个答案:

答案 0 :(得分:0)

所以我的假设是不正确的。正如评论中提到的 @arbghl 一样,作者只需要用<div>来包装目标元素,该方法具有scrollIntoView()方法,并将该div用作目标元素。 希望有帮助。