2017-11-29 2 views
0

Ich versuche, einen Dienst zu verwenden, sagen wir für die Benutzeranmeldungssitzung. Ich erhalte die Benutzerinformationen vom Dienst.EmberJS: Kann ich ein Modell von einem Dienst aktualisieren?

Jetzt möchte ich diese Informationen anzeigen - idealerweise mit einem Modell (Benutzerprofil).

Meine Frage ist, in meinem Service - kann ich die Attribute des Benutzerprofilmodells einstellen? So dass meine Route "Profilansicht" die Daten im Benutzerprofilmodell anzeigen kann.

Antwort

0

Sie können den Filialservice injizieren, einen Datensatz abrufen und ändern.

Importservice von '@ ember/service';

export default Service.extend({ 
    afterLogin(userId, sessionData) { 
    let store = this.get('store'); 
    let userProfile = store.peekRecord('user-profile', userId); 
    userProfile.set('foo', sessionData.foo); 
    }, 
    store: service(), 
}); 

Aber ich verstehe nicht, warum Sie Sitzungsdaten in einem Modelldatensatz festlegen möchten. Wenn es nur darum geht, die mit der Sitzung verbundenen Daten zu konsumieren, können Sie Ihren Dienst dort importieren, wo er benötigt wird, und direkt darauf zugreifen. Wenn das Benutzerprofil nach der Anmeldung aktualisiert werden muss (z. B. Einstellung einer letzten Anmeldeeigenschaft), sollte dies meiner Meinung nach für api verantwortlich sein.

Verwandte Themen