2017-12-03 61 views
0

我想在組件中的HTML元素上調用scrollIntoView如何在角度爲2+的元素上調用scrollIntoView

在angular.js 1,我可以做這樣的事情在控制器:

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

我怎樣才能做到在角2+是一回事嗎?上它

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

然後創建與屬性ViewChild的成分的屬性,並調用.nativeElement.scrollIntoView

回答

0

首先添加模板參考變量中的元素(#myElem

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

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

的時刻你使用nativeElement,你不在Angular建議中。你可能只是做一個document.querySelector('id')。scrollIntoView – Ryan

+0

關於nativeElement的建議(或反推薦)具體是什麼? – user776686