我有一些代码需要在store.init
上运行。
我尝试扩展app/store.js
中的默认存储,ember-cli似乎将其作为存储,但this.store
中的对象不是存储
我的店铺定义:
import DS from 'ember-data';
export default DS.Store.extend({
init:function(){
console.log('watatLoL')
}
});
根据Peter Wagenet的说法,这在Ember Data beta 19中发生了变化。如果您使用的是该版本或更高版本,则文件现在为app/stores/application.js
(如果您使用pod,则为app/application/store.js
)。
覆盖存储是一样的,只是文件名/位置发生了更改。如果您使用的Ember Data版本低于beta 19,则可以使用旧的app/store.js
文件。
我知道这是旧的,但我必须回答另一个问题,所以我想我会更新这个。默认情况下,Ember CLI解析器将查找app/store.js
,因此您可以在那里声明覆盖的存储。
// app/store.js
import DS from 'ember-data';
export default DS.Store.extend({
init: function() {
console.log('Using custom store!');
return this._super.apply(this, arguments);
}
});
Ember 1.13的答案:
Store现在扩展了Service
,所以我们可以创建app/services/store.js
,并放入以下代码来扩展/自定义Store:
// app/services/store.js
import DS from 'ember-data';
export default DS.Store.extend({
init: function() {
console.log('Using custom store!');
return this._super.apply(this, arguments);
}
});