Ich arbeite mit Google Maps V3 innerhalb von Angular 2 und versuche derzeit, eine Lösung zum Füllen von InfoWindows mit gebundenen Links und Eingabewerten zu finden. Wenn ein InfoWindow-Element erstellt wird, handelt es sich um ein neues DOM-Element, und gemäß den Docs von Angular 2 wird die Bindung an ein DOM-Element, das bei der Initialisierung der App nicht vorhanden war, nicht unterstützt. Gibt es eine Möglichkeit, gebundene Elemente in das neu erstellte DOM einzufügen oder einzufügen oder ein vordefiniertes Element zu verwenden, das die gebundenen Elemente enthält, die in das InfoWindow verschoben werden können?Angular 2 DOM in das InfoWindow-Element einfügen, das von Google Maps V3 erstellt wurde api
1
A
Antwort
1
Ich denke, Sie sollten dynamische Komponenten erstellen in diesem Fall verwenden. Versuchen Sie einfach smth wie dies in Ihrem Dienst oder eine Komponente, die weiß, wann Sie machen Ihre Inhalte haben:
import {ComponentResolver, ComponentFactory, ComponentRef, ApplicationRef, Injector} from '@angular/core';
export class SomeServiceOrComponent {
constructor(private resolver:ComponentResolver, private injector:Injector, private appRef:ApplicationRef) {
}
renderComponent() {
return this.resolver
.resolveComponent(YourDynamicComponentClass)
.then((factory:ComponentFactory<YourDynamicComponentClass>) => {
let cmpRef:ComponentRef<YourDynamicComponentClass> =
factory.create(this.injector, null, '.infoWindowsDOMSelector');
(<any>this.appRef)._loadComponent(cmpRef);
return cmpRef;
});
}
}
und rufen Sie diese Methode, ob Sie es brauchen.
(<any>this.appRef)._loadComponent(cmpRef)
ist ein Trick von i.Vj. Versionen von RC, aber vielleicht bald soll es
Verwandte Themen
- 1. Google Maps API v3: Zeichnungsmanager
- 2. Google Maps JavaScript API v3
- 3. Google Maps API v3 Gemeindegrenze
- 4. Google Maps API v3 Markerkoordinaten
- 5. Google Maps API v3 BrowserIsCompatible
- 6. jqtouch/google maps api v3 ausgabe
- 7. Erlaubt Google Maps API v3 größere Zoomwerte?
- 8. Problem mit Google Maps API v3
- 9. Angular 2, Ereignisse zu Elementen hinzufügen, nachdem das DOM erstellt wurde
- 10. Griff, wenn das Zeichnen von Polygonen in Google Maps abgeschlossen ist api v3
- 11. Autozoom zum Einfügen von Markern in Google Maps V3
- 12. Geocode in Google Maps v3
- 13. Google Maps API V3 - Benutzerdefinierte Fliesen
- 14. Google Maps v3 API mouseover mit Polygonen?
- 15. Google Maps API V3 Graue Bereiche
- 16. Google Maps v3 Fehler
- 17. Google Maps API v3 addDomListener-Methode Fragen?
- 18. Google Maps Api v3 - getBounds ist undefined
- 19. Google Maps v3 API - Auto Complete (Adresse)
- 20. Google Maps Api v3, benutzerdefiniertes Cluster-Symbol
- 21. google maps api v3 keine etiketten?
- 22. Google Maps API v3: Kartentyp ändern Ereignis
- 23. Google maps api v3 Suchpolygon ohne Mausereignisse
- 24. Google Maps API v3 Problem mit Firefox
- 25. Google Maps API V3-Methode fitBounds()
- 26. Google Maps v3 OverlayView.getProjection()
- 27. Benutzerdefiniertes Overlay anklickbar machen (Google Maps API v3)
- 28. Google Maps API V3 Fitbounds() zoomt, aber nie in
- 29. So erhalten Sie das MapOptions-Objekt von einer Karte mit Google Maps API v3
- 30. Google Earth mit Google Maps API v3 integriert?
Ich bin ziemlich neu in Angular im Allgemeinen gelöst werden, so meine Unwissenheit verzeihen. Wäre dieses Beispiel in die vorhandene Klasse integriert oder bezieht sich SomeServiceOrComponent auf einen Dienstprogrammdienst zum Rendern dynamischer Inhalte? – somecallmemike
Ah ich habe es funktioniert, danke für die Hilfe. Ich denke, die einzige Schwierigkeit im Moment ist, wie würde ich Daten an die neue Komponente von der Eltern als @ Input mit dieser Methode übergeben? – somecallmemike
Haben Sie dies zu arbeiten, auch Kauf hinzufügen cmpRef.instance.inputData = Daten; nach dem Erstellen von cmpRef; – somecallmemike