如何注入服务ember.js中的存储 [英] how to inject store in service ember.js
本文介绍了如何注入服务ember.js中的存储的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Ember:1.11.1
Ember Data:1.0.0- beta.16.1
jQuery:1.11.2
NOT工作:初始化程序
// app / initializers / initializer-store.js
export default {
名称:'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';
导出默认值Ember.Service.extend({
availableIn:['controllers','routes'],
store:null,
init :function(){
this._super();
this.set('store',this.container.lookup(store:main));
}
});
解决方案
截至Ember v1.10:
从ember导入Ember;
导出默认值Ember.Service.extend({
store:Ember.inject.service('store')
});
I tried to inject the store from the initializer without success, so I use lookup on init in my service, but I don't like it too much, I would rather keep things separated and put the injection in the initializer...
Ember : 1.11.1
Ember Data : 1.0.0-beta.16.1
jQuery : 1.11.2
NOT WORKING:Initializer
//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:Service
//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"));
}
});
解决方案
As of Ember v1.10:
import Ember from 'ember';
export default Ember.Service.extend({
store: Ember.inject.service('store')
});
这篇关于如何注入服务ember.js中的存储的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文