Angular 4でクリックすると要素までスクロールする 質問する

Angular 4でクリックすると要素までスクロールする 質問する

ボタンを押したら対象までスクロールできるようにしたい。こんなことを考えていました。

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

そして私のcomponent.ts方法ではそうです。

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

上記のコードは有効ではないことは承知していますが、私が考えていたことを示すためだけに書いています。私はAngular 4の学習を始めたばかりで、Angularの経験はありません。私はこのようなものを探していましたが、すべての例はAngular 4とは大きく異なるAngularJsでした。

ベストアンサー1

次のようにできます:

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

そしてコンポーネント内では:

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

編集:要素が未定義のため、これはもう機能しないというコメントを見ました。StackBlitzの例Angular 7 でもまだ動作します。動作しない例を教えていただけますか?

おすすめ記事