2017-12-03 3 views
0

コンポーネントのHTML要素にscrollIntoViewを呼び出したいとします。 angular.js 1では角2の要素でscrollIntoViewを呼び出す方法

私は、コントローラにこのような何かを行うことができます。

var element = $window.document.getElementById(id); 
element.scrollIntoView({ behavior: "smooth", block: "start" }); 

にはどうすればいいの角度2+で同じことを行うことができますか?

答えて

0

まず素子(#myElem)テンプレート参照変数を追加:

<p #myElem>Scroll to here!</p> 

そして属性ViewChild持つコンポーネントにプロパティを作成し、その上に.nativeElement.scrollIntoViewを呼び出す:

export class MyComponent { 
    @ViewChild("myElem") MyProp: ElementRef; 

    ngOnInit() { 
    this.MyProp.nativeElement.scrollIntoView({ behavior: "smooth", block: "start" }); 
    } 
} 
+0

モーメントをAngularの推奨外にあるnativeElementを使用します。 document.querySelector( 'id')を実行するだけでもいいです。scrollIntoView – Ryan

+0

nativeElementに関する推奨事項(または推奨事項)は具体的に何ですか? – user776686

関連する問題