将服务注入到Ember-cli实用程序中

时间:2015-06-22 20:59:02

标签: ember.js ember-cli

是否可以从Ember实用程序访问Ember服务?我无法在文档中找到有关实用程序的任何内容。或关于此事的服务。

我使用的是Ember-cli 0.2.7和Ember 1.12.0

1 个答案:

答案 0 :(得分:0)

嗯,Ember实用程序只是一个导出的JavaScript方法,而Ember.Service是Ember生态系统的一部分。要从实用程序访问Ember.Service,您必须将对具体Ember.Service的引用传递给实用程序,这可能是糟糕的设计决策。

如果您可以解释您需要什么实用程序和服务,那么建议正确的方法可能会更容易,而不直接将Ember.Service引用到JavaScript方法。

当您有一些需要在许多控制器/路由之间共享的逻辑/状态时,可以使用Ember.Service。例如,您可以定义声音服务,然后从许多地方使用您将要编写/公开的公共方法。您可以确保此刻只播放1首歌曲。这是为了服务。实用程序可以帮助您创建一些异步模式,例如迭代承诺的特定方式,如mapSeries - 它是通用的,可以在很多地方使用。由于要求它作为实用程序,您的代码是干的,您可以在需要的地方导入它。