Ich versuche, eine eigene Infowindow zu erstellen, die ich an die Eltern eines Google-Maps-Klasse Appen die Funktion sieht wie folgt aus, die durch Klicken auf eine Markierung ausgelöst wird:Angular2- anhängen Variable nicht definiert ist
updateDiv(location: Location) {
this.selectedLocation = location;
this.isClicked = true;
this.ID = this.selectedLocation.id;
console.log(this.ID)
$(function() {
$('.gm-style-iw').parent().append('<div class="test"><span class="ID">'+ this.ID +'</span></div>');
});
}
Die console.log
zeigt die ID des angeklickten Markers an, aber in div class='test'
erscheint es als undefiniert.
Warum ist das?
Oder ist es auch möglich, ein div anzuhängen, das Sie in der HTML-Vorlage erstellt haben? Die wie folgt aussieht:
<div *ngIf="isClicked" class="infoWindow">
<p>{{ selectedLocation.id }} {{ selectedLocation.content }}</p>
</div>
Dies ist nicht diese Arbeit ist das, was ich tat. '$ (‘ g-Stil -iw '). Eltern().anhängen (‚
Sie nicht jQuery benötigen überhaupt . Der [innerHtml] = "myHtml" muss in die Vorlage HTML eingefügt werden. Stellen Sie sich einen Host für HTML-Code vor, der von einer beliebigen Variablen innerhalb des Modells bereitgestellt wird. –
Aber ich es auf eine Google-Maps-Klasse am Anfügen überlagert es die Standard-infowindow: https://plnkr.co/edit/QZLs74?p=preview – Sreinieren