2016-01-28 51 views
2

我有一個Ember 2.3.0應用程序和一個名爲ui.js的服務。我經常在許多路線,控制器和組件中使用這項服務。我通常通過這種方式手動將服務注入每個路由,控制器和組件:有沒有什麼辦法讓Ember服務可用於所有路由,控制器和組件?

ui: Ember.inject.service() 

但是,保持手動注入變得非常繁瑣。我如何自動將UI服務提供給所有路由,控制器和組件?

回答

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'); 
    } 
}; 
相關問題