2016-02-15 87 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