2016-02-15 129 views
2

我想用商店在初始化到我試着這樣做:如何使用儲存在初始化

export function initialize(application) { 
    application.inject('controller', 'store', 'service:store'); 
    this.store.createRecord('model'); 
} 

export default { 
    name: 'modify-models', 
    initialize 
}; 

有了這個,this.store是不確定的。

the doc一樣,我嘗試了var store = application.lookup('service:store');,但是application.lookup未定義。

我也試過var store = Ember.inject.service('store');store是未定義的。

我找不到正確的方法。什麼是解決方案?

+0

在初始化我不會創建灰燼數據對象。初始化器設計用於「真正」初始化,例如注入。例如,只需在應用程序路由的'beforeModel'鉤子中創建對象即可。 –

回答

6

您需要確保它是一個instance initializer,你需要使它ember-data後運行:

export default { 
    name: 'modify-models', 
    after: 'ember-data', 
    initialize 
}; 
+0

我的初始化程序不是實例初始值設定項。我改變了,它運作。謝謝! – Dougui

+0

是否知道是否有解決方案在應用程序初始化程序中使用存儲或者在實例初始化程序中重新打開類? – Dougui

+0

@Dougui如果你使用'after:'ember-data''你應該能夠在應用程序初始化器中獲得商店,你試過嗎?不知道重新開課。 – locks