提问者:小点点

按角度4滚动到点击元素


我想要能够滚动到一个目标,当一个按钮被按下。我在想这样的事情。

<button (click)="scroll(#target)">Button</button>

并且在我的component.ts中有一个类似的方法。

scroll(element) {
    window.scrollTo(element.yPosition)
}

我知道上面的代码是无效的,但只是为了显示我的想法。我刚刚开始学习Angular 4,之前没有Angular的经验。我一直在寻找类似的东西,但所有的例子都是AngularJs,这与Angular4有很大的不同


共1个答案

匿名用户

你可以这样做:

<button (click)="scroll(target)"></button>
<div #target>Your target</div>

然后在组件中:

scroll(el: HTMLElement) {
    el.scrollIntoView();
}

编辑:我看到一些注释指出,由于元素未定义,这将不再起作用。我在Angular 7中创建了一个StackBlitz示例,它仍然可以工作。有人能提供一个例子,它不起作用吗?