【发布时间】:2016-01-28 08:35:40
【问题描述】:
我有一个 Ember 2.3.0 应用程序和一个名为 ui.js 的服务。我经常在许多路由、控制器和组件中使用这项服务。我通常通过这样做将服务手动注入每个路由、控制器和组件:
ui: Ember.inject.service()
但是,继续手动注入它变得非常乏味。如何自动使 UI 服务可用于所有路由、控制器和组件?
【问题讨论】:
标签: ember.js
我有一个 Ember 2.3.0 应用程序和一个名为 ui.js 的服务。我经常在许多路由、控制器和组件中使用这项服务。我通常通过这样做将服务手动注入每个路由、控制器和组件:
ui: Ember.inject.service()
但是,继续手动注入它变得非常乏味。如何自动使 UI 服务可用于所有路由、控制器和组件?
【问题讨论】:
标签: ember.js
您可以使用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');
}
};
【讨论】: