有没有办法让所有路线,控制器和组件都可以使用Ember服务?

时间:2016-01-28 08:35:40

标签: ember.js

我有一个Ember 2.3.0应用程序和一个名为ui.js的服务。我经常在许多路线,控制器和组件上使用此服务。我通常通过这样做手动将服务注入每个路由,控制器和组件:

ui: Ember.inject.service()

然而,继续手动注射它变得非常繁琐。如何自动为所有路由,控制器和组件提供UI服务?

1 个答案:

答案 0 :(得分:5)

您可以使用initializer来实现此目的,创建app/initiliazers/ui.js

export default {
  name: 'ui',
  initialize(container, app) {
    app.inject('route', 'ui', 'service:ui');
    app.inject('controller', 'ui', 'service:ui');
    app.inject('component', 'ui', 'service:ui');
  }
};