2015-09-07 36 views
1

我需要访问组件中的应用程序特定数据以及路线。我还需要设置来自普通JS的应用程序特定数据。Ember.js - 将应用程序特定数据存储在烬中的最佳方式是什么?

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

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

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

此外,要存储的数据也很关键。所以请建议一个完成此任务的最佳方法。

回答

1

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

从指南:

“的Ember.Service是根据需要可以注入一个长寿命的灰烬对象。”

示例服务:

设置 - 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); 
    } 
    } 
}); 
+0

感谢您的快速反应: - )。你能不能让我知道,如果这是安全的,有详细信息,例如用户访问应用程序中的特定功能?另外,我将如何能够从不在Ember(简单JavaScript)中的其他JavaScript函数设置服务的属性。是否有可能? – Govind

+0

我不是安全专家,但我认为在客户端存储凭据不是一个好主意。而且由于该服务是一个Ember对象,我认为它不可能在Ember之外使用它。 –

相关问题