我有一个Ember 2.3.0应用程序和一个名为的服务ui.js.我经常在许多路线,控制器和组件上使用此服务.我通常通过这样做手动将服务注入每个路由,控制器和组件:
ui: Ember.inject.service()
Run Code Online (Sandbox Code Playgroud)
但是,手动注入它变得非常繁琐.如何自动使UI服务可用于所有路由,控制器和组件?
您可以使用初始化程序来实现此目的,创建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');
}
};
Run Code Online (Sandbox Code Playgroud)