在ember中存储应用程序特定数据的最佳方式是什么?

Ember.js - What is the best way to store application specific data in ember?

本文关键字:最佳 方式 是什么 数据 ember 存储 应用程序      更新时间:2023-09-26

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

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

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

上述方法是一种好方法,还是有更好的方法?

要存储的数据也很重要。所以请建议一个最好的方法来完成这项任务。

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

从指南:

"一个灰烬。Service是一个长期存在的Ember对象,可以根据需要进行注入。"

示例服务:

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