2017-10-24 4 views
0

Ich muss setsetTop und offsetLeft zu meinem Viewchild-Element setzen, um es auf den Hover eines anderen Elements zu positionieren. Es ist ein Tooltip, so ist dies, was ich versucht:Oben und links zum ViewChild Element? Angular 4

<div (mouseover)="showPopup($event, price)"></div> 
<div #tooltip>Some text</div> 

Das ist mein div, und im Inneren TS Ich habe:

@ViewChild('tooltip') tooltip: ElementRef; 

showPopup(event, price) { 

    price.show = true; 
    this.tooltip.nativeElement.offsetTop = event.target.offsetTop; 
    this.tooltip.nativeElement.offsetLeft = event.target.offsetLeft; 
    } 

Aber ich erhalte den folgenden Fehler:

kann nicht vergeben Nur Eigenschaft 'offsetTop' des Objekts '[object HTMLDivElement]' lesen. Irgendein Rat?

Antwort

5

offsetTop und offsetLeft sind nur im Browser, die in keiner Weise mit Angular verwandt ist.

Vielleicht wird dies für Sie arbeiten:

<div [style.top.px]="top" [style.left.px]="left">Some text</div> 
class MyComponent { 
    top: number; 
    left: number; 
} 
Verwandte Themen