Ember.js 会话中的ember简单身份验证更新数据

Ember.js 会话中的ember简单身份验证更新数据,ember.js,ember-simple-auth,Ember.js,Ember Simple Auth,我有以下代码: changeUsername: function(){ var _this = this; this.store.findById('user', this.session.get('user.id')).then(function(user){ user.set('username', _this.get('newUsername')); user.save(); _this.session.set('user.

我有以下代码:

changeUsername: function(){
    var _this = this;
    this.store.findById('user', this.session.get('user.id')).then(function(user){
        user.set('username', _this.get('newUsername'));
        user.save();

        _this.session.set('user.username', _this.get('newUsername'));
        _this.session.persist();
    });
}
正如您所看到的,我正在将一个用户对象持久化到ember simple auth会话,我想用这个方法更新它

在会话上调用persist不会起作用

我也尝试过:

_this.session.store.set('user.username', _this.get('newUsername'));
_this.session.store.save();
这也没用


如何更新会话上的用户对象?

假设您已使用userId上具有计算属性的user方法扩展或重新打开简单身份验证会话,答案将是

  var _this = this;
  if(!Ember.isEmpty(this.get('session.content.userId'))) {
     this.get('session.user').then(function(user){
       user.set('username', _this.get('newUsername'));
       user.save();
     });
  }
您的模板将使用
{{session.user.username}}