2013-06-14 4 views
2

Попытка лучше понять регистр и ввести эмбр. В основном мой код выглядит следующим образом:ember register inject singleton

//creating a service 
Nerdeez.Wormhole = Ember.Object.extend({ 
... 
}) 

//registering this service as a singleton 
App.register('wormhole:current', Nerdeez.Wormhole, {singleton: true}); 

//wanting to inject this service to be available everywhere in my application 
//especially in the adapter where i use it in the ajax hook 
App.inject('App', 'wormhole', 'wormhole:current'); 

//when trying to access this service in the ajax hook in the adapter i get undefined WTF! 
App.get('wormhole') === undefined //true 

я просто хочу эту услугу доступной во всем мире в целом применение в качестве одноэлементных, что является лучшим способом для достижения этой цели? важно сказать, что мне удается внедрить мою службу в модели, представления и контроллеры, и проблема заключается в том, чтобы вставить ее в мой адаптер.

Заранее спасибо

ответ

0

Я не мог придумать способ, чтобы впрыснуть объект в App либо, но вы можете установить его в адаптер (или магазин) так же, как вы можете с для маршрута & объектов контроллера:

// register 
App.register('wormhole:current', Nerdeez.Wormhole); 

// inject into adapter 
App.inject('adapter', 'wormhole', 'wormhole:current'); 

// inject into store 
App.inject('store', 'wormhole', 'wormhole:current'); 

// inject into routes & controllers 
App.inject('route', 'wormhole', 'wormhole:current'); 
App.inject('controller', 'wormhole', 'wormhole:current');