Sono abbastanza nuovo per Angular2 e sono piuttosto bloccato su qualcosa.Variabile globale Angular2 osservabile
Ho creato un settings.service globale. Questo servizio recupera le impostazioni da un'API e popola il modello delle impostazioni con i dati raccolti.
Il servizio:
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;
}
Questo funziona bene e le impostazioni vengono correttamente impostato quando prova i dati di ritorno nel .map
Ma quando provo a chiamare getsettings dal componente in cui ho bisogno questi dati, restituisce vuoto. Il servizio è definito nel bootstrap.
Devo rendere visibile la variabile 'impostazioni'? Qualsiasi aiuto sarebbe molto apprezzato!
Tnx!
Sembra che il tuo codice attuale sia diverso. 'impostato correttamente quando eseguo il test dei dati di ritorno in .map'. Questo codice 'this.http.get ('/ settings') .map (response => { this.settings = response.json() });' non viene mai eseguito senza 'subscribe (...)' –
Sì, il mio codice attuale è diverso;) Ma nell'interesse della domanda ho semplificato il codice. Aggiornerò l'esempio di codice;) – Jeffrey