2017-07-10 4 views
0

Wenn ich die Index-Seite meiner ember App zu aktualisieren, scheint es, dass ich nicht die Funktionen in meinem index.js Datei in app/Routen befindet aufrufen können.Ember: Problem beim Auffrischen der Indexseite

Ich weiß nicht wirklich, wie ich dieses Problem lösen kann.

Der Quellcode von index.js:

import Ember from 'ember'; 
 
import ProjectRoute from 'web/project-route'; 
 

 
export default ProjectRoute.extend({ 
 
    authSrv: Ember.inject.service('authentication'), 
 
    _title: 'index.title', 
 
    _requireAuth: true, 
 
    beforeModel() 
 
    { 
 
     "use strict"; 
 
     this._super(); 
 
    }, 
 
    model() 
 
    { 
 
     "use strict"; 
 
     console.log(this.get('authSrv').username); 
 
     return {user_id: this.get('authSrv').user_id, 
 
      username: this.get('authSrv').username}; 
 
    } 
 
});

In der Quellcode oben können wir sehen, dass ich versuche, den Benutzernamen angezeigt werden soll. Wenn ich mich das erste Mal auf dieser Seite anmelde, wird es gut angezeigt, aber wenn ich die Seite aktualisiere, wird nichts angezeigt.
Jeder Gedanke ist willkommen!

+0

Wenn Sie die Seite aktualisieren, verlieren Sie alle (Client-Seite) lokalen Zustand. Die Authentifizierung wird höchstwahrscheinlich in einem Sitzungscookie erfasst, sodass Sie nach der Aktualisierung authentifiziert bleiben. Alle vom Authentifizierungsprozess gespeicherten clientseitigen Daten gehen jedoch verloren. –

+0

'zeigt nichts an 'bedeutet normalerweise, dass eine Nachricht in der Konsole vorhanden ist. –

+0

Ich denke, das Problem kommt von einem Modul, das nicht auf dem neuesten Stand ist. Ich halte euch auf dem Laufenden. – maje

Antwort

0

Also habe ich es mit dem Ember-Modul RSVP behoben. Grundsätzlich bestand das Hauptproblem in einem Versprechen. Ich habe nicht auf das Versprechen gewartet. Die index.js sehen so aus.

import Ember from 'ember'; 
 
import ProjectRoute from 'web/project-route'; 
 

 
export default ProjectRoute.extend({ 
 
    authSrv: Ember.inject.service('authentication'), 
 
    _title: 'index.title', 
 
    _requireAuth: true, 
 
    beforeModel() 
 
    { 
 
     "use strict"; 
 
     this._super(); 
 
    }, 
 
    model() 
 
    { 
 
     "use strict"; 
 
     let promise = new Ember.RSVP.Promise((resolve, reject) => 
 
     { 
 
      this.get('authSrv').get('current_auth').promise.then((res) => 
 
      { 
 
       resolve({user_id: this.get('authSrv').user_id, 
 
        username: this.get('authSrv').username}); 
 
      }); 
 
     }); 
 
     return promise; 
 
    } 
 
});

Verwandte Themen