Ember.js - 在ember中存储应用程序特定数据的最佳方法是什么?

时间:2015-09-07 09:58:02

标签: javascript ember.js

我需要访问组件中的应用程序特定数据以及路由。我还需要从普通JS设置应用程序特定数据。

我目前创建了一个具有全局命名空间的对象(App.globalSetting),然后将变量创建为此对象的属性。

然后我可以使用App.globalSetting.set()和App.globalSetting.get()来设置和获取变量。

上述方法是一种好的做法还是有更好的方法来做同样的事情。

此外,要存储的数据至关重要。所以请建议一个完成这项任务的最佳方法。

1 个答案:

答案 0 :(得分:1)

您可能需要查看服务:http://guides.emberjs.com/v2.0.0/services/

从指南中:

“Ember.Service是一个长期存在的Ember对象,可以根据需要注入。”

示例服务:

设置-service.js

export default Ember.Service.extend({
  exampleSetting: true,
  update(value) {
    this.set('exampleSetting', value);
  }
});

如何从组件(或路由)访问此服务:

export default Ember.Component.extend({
  settings: Ember.inject.service('settings-service'),
  actions: {
    doSomething(val) {
      this.get('settings').update(val);
    }
  }
});