Ich werde Ihnen zeigen, wie ich es implementiert habe, aber ich bin mir nicht sicher, ob es ein richtiger Weg ist, es zu tun.
Die Idee ist:
Zuerst habe ich hinzufügen, einen versteckten Eingang die Änderung des Kartenobjekts gleichzeitig aufnehmen:
<input hidden id='hiddenMapValue' #hiddenInput>
#hiddenInput
ist es für einen Zweck, und Sie werden es sehen.
Dann weisen bei jeder Karte Objektänderungen, um den Wert zu diesem versteckten Eingang, zum Beispiel:
$("#hiddenMapValue").val(place.geometry.location).trigger('change');
In Ihrer Komponente:
@ViewChild('hiddenInput') hiddenInput: ElementRef;
ngAfterViewInit(){
$(this.hiddenInput.nativeElement).on('change', (e)=>{
this.onInputChanged(e);
});
}
private onInputChanged(e): void{
//This is your changed location value
console.log(e.target.value);
}
@ViewChild('hiddenInput') hiddenInput: ElementRef;
sind, wie Sie einen Halt bekommen auf versteckten Eingang #hiddenInput
.
Und nein, angular 2 Modell speichert keine Änderungen von jQuery gemacht. Dies ist bisher eine alternative Lösung für dieses Problem.
Ich hoffe, das wird helfen.
Mit jQuery in Angular2 + Code ist wirklich gegen Best Practices. – DanilF