Ich bin relativ neu zu angular2 und ich bin irgendwie auf etwas fest.Angular2 globale Variable beobachtbar
Ich habe einen globalen settings.service erstellt. Dieser Dienst ruft Einstellungen von einer API ab und füllt das Einstellungsmodell mit den gesammelten Daten.
Der Service:
public settings : settingsModel;
constructor(public http: Http){
this.setSettings()
.subscribe(
(data) => {
this.settings = data
});
}
setSettings() : Observable<any>{
return : this.http.get('/settings')
.map(response => response.json());
}
getSettings(){
return this.settings;
}
Dies funktioniert gut und die Einstellungen korrekt eingestellt sind, wenn ich die Rückgabedaten in der .map testen
Aber wenn ich versuche GetSettings von der Komponente zu nennen, wo ich Diese Daten werden leer zurückgegeben. Der Dienst ist im Bootstrap definiert.
Muss ich die Variable 'Einstellungen' beobachtbar machen? Jede Hilfe würde sehr geschätzt werden!
Tnx!
Scheint, dass Ihr tatsächlicher Code anders ist. 'korrekt gesetzt, wenn ich die Rückgabedaten in der .map' teste. Dieser Code 'this.http.get ('/ settings') .map (response => { this.settings = response.json() });' wird nie ohne 'subscribe (...)' –
ausgeführt Ja, mein eigentlicher Code ist anders;) Aber um der Frage willen habe ich den Code vereinfacht. Ich werde das Codebeispiel aktualisieren;) – Jeffrey