EmberJS:我可以从服务更新模型吗?

时间:2017-11-29 10:21:05

标签: javascript ember.js ember-data ember-model

我尝试使用某项服务,请说出用户登录会话。 我从服务中检索用户的信息。

现在我想显示此信息 - 理想情况下使用模型(用户配置文件)。

我的问题是,在我的服务中 - 我可以设置用户个人资料模型的属性吗? 这样我的" profile-view" route可以在用户配置文件模型中显示数据。

1 个答案:

答案 0 :(得分:0)

您可以注入商店服务,检索记录并进行更改。

从'@ 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(),
});

但我不明白你为什么要在模型记录上设置与会话相关的数据。如果它只是消耗与会话相关的数据,您可以在需要的地方导入您的服务并直接访问它。如果用户配置文件需要在登录后更新(例如设置上次登录属性),api应该对我负责。