我需要访问组件中的应用程序特定数据以及路由。我还需要从普通JS设置应用程序特定数据。
我目前创建了一个具有全局命名空间的对象(App.globalSetting),然后将变量创建为此对象的属性。
然后我可以使用App.globalSetting.set()和App.globalSetting.get()来设置和获取变量。
上述方法是一种好的做法还是有更好的方法来做同样的事情。
此外,要存储的数据至关重要。所以请建议一个完成这项任务的最佳方法。
答案 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);
}
}
});