覆盖DS.Store ember-cli

Bil*_*nks 13 ember.js ember-data ember-cli

我有一些需要运行的代码store.init.

我尝试扩展默认存储app/store.js,ember-cli似乎把它当作商店,但是对象this.store不是商店

我的店铺定义:

import DS from 'ember-data';

export default DS.Store.extend({
  init:function(){
    console.log('watatLoL')
  }
});
Run Code Online (Sandbox Code Playgroud)

GJK*_*GJK 23

根据Peter Wagenet的说法,这在Ember Data beta 19中已经发生了变化.如果您使用的是该版本或更高版本,则该文件现在app/stores/application.js(或者app/application/store.js如果您使用的是pod).

覆盖商店是相同的,只有文件名/位置已更改.如果您使用的是低于beta 19的Ember Data版本,则可以使用旧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);
    }
});
Run Code Online (Sandbox Code Playgroud)


nem*_*035 7

答案> Ember 1.13:

商店现在延长了Service,所以我们可以只需要创建app/services/store.js并把下面的代码来扩展/定制店:

// 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);
  }
});
Run Code Online (Sandbox Code Playgroud)

这是一个样本旋转