Ich habe ein Problem und kann mich nicht erinnern, wie ich es umgehen kann. Ich abonniere einen Rückruf von einer Drittanbieter-Richtlinie, werde aber nicht mit dem richtigen Umfang zurückgerufen. Und damit meine ich, dass, wenn es meinen Controller trifft this
ist eigentlich ein anderer Bereich, den ich nicht ganz herausfinden kann, so dass es nicht auf alle Mitgliedsvariablen zugreifen kann. Wie komme ich zurück zu meinem Controller-Bereich?Rückruf auf falschen Bereich
<ui-gmap-layer type="HeatmapLayer" onCreated="$ctrl.heatLayerCallback"></ui-gmap-layer>
Component Controller:
heatLayerCallback(heatLayer: google.maps.visualization.HeatmapLayer) {
this.heatMapLayer = heatLayer;
// 'this' here is not my controller
}
Wenn ich den Anruf zurück zu
<ui-gmap-layer onCreated="$ctrl.heatLayerCallback(layer)"></ui-gmap-layer>
Dann ist mein Rückruf auf dem richtigen Umfang führt zu ändern (dh mein Controller), aber der Parameter layer
verloren ;
Anmerkungen
Ich bin mit Typoskript, Angular 1.6 und Winkelkomponenten
Danke Will, irgendeine Idee, wie man das in Typoskript bearbeitet? Ich denke standardmäßig typescript wird 'var that = this 'tun. – Chris
Da TypeScript eine Obermenge von JavaScript ist, sollte jeder Ansatz funktionieren. Abhängig davon, wie der Rest Ihres Codes aussieht, ist das Original "this" in meinen Beispielen möglicherweise nicht der richtige Kontext. Verwenden (binden oder speichern) den Kontext, den Sie für Ihre Situation benötigen. Ich werde auch das Bind-Beispiel mit ein wenig mehr Erklärung aktualisieren. – Will
Dank Will, aber es funktioniert immer noch nicht, Update meine Frage mit, was ive versuchte – Chris