如何在服务ember.js中注入商店

时间:2015-04-26 18:32:11

标签: ember.js

我试图从初始化程序注入商店但没有成功,所以我在我的服务中使用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"));
  }
});

1 个答案:

答案 0 :(得分:12)

从Ember v1.10开始:

import Ember from 'ember';

export default Ember.Service.extend({  
  store: Ember.inject.service('store')
});