2017-09-04 1 views
1

Ich versuche Höhe eines div in Angular2 zugreifenFalsche Werte während NativeElement Zugriff

HTML

<div #ccww c-w> 

</div> 

TS

@ViewChild('ccww') CW; 

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

Aber wenn ich diese Werte log ich verschiedene clientHeight

Dies ist der protokollierte Wert von cwElement

Wie Sie oben sehen können, enthält das Objekt ein clientHeight mit dem Wert von 513

und dem angemeldeten Wert von cw.nativeElement.clientHeight ist 563

Wie richtig ich den richtigen Wert zugreifen? Und warum sehe ich einen Fehler?

+0

Versuchen verwenden ngAfterViewChecked stattdessen zu verwenden. Vielleicht wird nach dem ngAfterViewInit-Ereignis etwas gerendert. –

+0

@Gosha_Fighten Ja. Du hast recht, es wird in Sekundenbruchteilen geändert ... aber '' '' '' '' '' '' '' '' '' '' ExgeChangedAfterItHasBeenCheckedError ' – darkermuffin

+0

Ändern Sie eine Komponenteneigenschaft darin? Versuchen Sie dies über setTimeout –

Antwort

0

benötigen Sie so etwas wie dieses

@ViewChild('ccww') CW: ElementRef;