如何在ember中创建枚举服务

时间:2016-06-21 18:02:09

标签: javascript ember.js web dependency-injection ember-data

我想在ember中创建枚举服务,这样我只需要注入它就可以在任何地方使用它。有没有好办法呢? 感谢。

2 个答案:

答案 0 :(得分:1)

哦,我找到了解决方案。 我做了正确的事,但是余烬服务并不那么聪明......

步骤:

  1. 只需使用:ember g service enums
  2. 并添加初始化程序:ember g initializer enums
  3. 在新创建的enums初始化程序中,put export default { name: 'titleService', initialize: function(application) { application.inject('route', 'enums', 'service:enums'); } };
  4. 重启ember服务器,让自己获得一个enums服务

答案 1 :(得分:0)

我认为这也可以,在您的服务代码中添加Enumerable mixin

export default Ember.Service.extend(Ember.Enumerable, {
  length: // ...
  nextOjbect: // ..
  next: // ...
  value: // ...
}

根据文档,您需要实现nextObject()和length。 Ember服务只是Ember对象所以我认为这是更清洁的解决方案

http://emberjs.com/api/classes/Ember.Enumerable.html#toc_writing-your-own-enumerable

请告诉我这是否对您有用....