Ich versuche eine benutzerdefinierte Anweisung in Angular 2 zu implementieren, um ein beliebiges HTML-Element zu verschieben. Bis jetzt funktioniert alles außer, dass ich jetzt nicht wie ich die anfängliche Position des HTML-Elements bekomme, wenn ich darauf klicke und mich bewegen möchte. Ich Bindung an die top
und left
Designs von HTML-Element mit diesen beiden Host-Bindungen:Angular 2: Position des HTML-Elements abrufen
/** current Y position of the native element. */
@HostBinding('style.top.px') public positionTop: number;
/** current X position of the native element. */
@HostBinding('style.left.px') protected positionLeft: number;
Das Problem ist, dass beide von ihnen sind undefined
am Anfang. Ich kann nur die Werte aktualisieren, die auch das HTML-Element aktualisieren, aber ich kann es nicht lesen? Soll das so sein? Und wenn ja, welche Alternative muss ich die aktuelle Position des HTML-Elements abrufen.
Aber Offset gibt mir nicht die relative Position des Elements? – tom1991te
Ihre Frage sagt nichts über "relativ" aus. 'offsetLeft' ist nur ein Beispiel. Der Rest ist der gleiche wie in JavaScript, deshalb habe ich den Link zu meiner Antwort hinzugefügt. –