2
我有一個Ember 2.3.0應用程序和一個名爲ui.js
的服務。我經常在許多路線,控制器和組件中使用這項服務。我通常通過這種方式手動將服務注入每個路由,控制器和組件:有沒有什麼辦法讓Ember服務可用於所有路由,控制器和組件?
ui: Ember.inject.service()
但是,保持手動注入變得非常繁瑣。我如何自動將UI服務提供給所有路由,控制器和組件?
我有一個Ember 2.3.0應用程序和一個名爲ui.js
的服務。我經常在許多路線,控制器和組件中使用這項服務。我通常通過這種方式手動將服務注入每個路由,控制器和組件:有沒有什麼辦法讓Ember服務可用於所有路由,控制器和組件?
ui: Ember.inject.service()
但是,保持手動注入變得非常繁瑣。我如何自動將UI服務提供給所有路由,控制器和組件?
您可以使用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');
}
};