我试图从初始化程序注入商店但没有成功,所以我在我的服务中使用init查找,但我不太喜欢它,我宁愿保持分离并将注入放在初始化程序中。
Ember:1.11.1
Ember数据:1.0.0-beta.16.1
jQuery:1.11.2
不工作:初始化程序
//app/initializers/initializer-store.js
export default {
name: 'initializer-store',
after: 'store',
initialize: function(container, application) {
application.inject('service:mtg-level-service', 'store', 'store:main');
}
};
WORKING:服务
//app/services/mtg-level-service.js
import Ember from 'ember';
export default Ember.Service.extend({
availableIn: ['controllers', 'routes'],
store: null,
init: function() {
this._super();
this.set('store', this.container.lookup("store:main"));
}
});
答案 0 :(得分:12)
从Ember v1.10开始:
import Ember from 'ember';
export default Ember.Service.extend({
store: Ember.inject.service('store')
});