Ember:刷新索引页面时出现问题

时间:2017-07-10 12:38:38

标签: ember.js ember-data refresh ember-cli

当我刷新我的余烬应用程序的索引页面时,似乎无法调用位于 app / routes 中的 index.js 文件中的函数。

我真的不知道如何解决这个问题。

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};
    }
});

在上面的代码源中,我们可以看到我尝试显示用户名。当我第一次登录此页面时,它显示效果很好,但是当我刷新页面时,它不会显示任何内容 欢迎任何想到它!

1 个答案:

答案 0 :(得分:0)

所以我用Ember模块RSVP修复它。基本上,主要问题来自承诺。我没有等待承诺。 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";
        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;
    }
});