2017-09-04 38 views
1

我想在Angular2訪問一個div的高度錯誤值,而訪問NativeElement

HTML

<div #ccww c-w> 

</div> 

TS

@ViewChild('ccww') CW; 

ngAfterViewInit() { 
var cwElement = this.CW; 
console.log(cwElement); 
console.log(cwElement.nativeElement.clientHeight); 
} 

但是,當我記錄這些價值觀,我得到不同的clientHeight

這是cwElement的記錄值Here is the image

正如你可以在上面看到,該對象包含的513

的價值和cw.nativeElement.clientHeight記錄的值是563

如何正確訪問正確的價值clientHeight?爲什麼我會看到一個錯誤?

+0

嘗試使用ngAfterViewChecked代替。也許,在ngAfterViewInit事件之後會呈現一些東西。 –

+0

@Gosha_Fighten是的。你是對的它是被幾秒鐘的分數值...但now'ngAfterViewChecked'拋出我的'ExpressionChangedAfterItHasBeenCheckedError' – darkermuffin

+0

你改變它組件屬性?嘗試通過setTimeout的 –

回答

0

你需要使用像這樣

@ViewChild('ccww') CW: ElementRef;