Перезаписать DS.Store 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')
  }
});

Ответ 1

Согласно Peter Wagenet, это изменилось в бета-версии Ember Data. Если вы используете эту версию или позже, теперь файл app/stores/application.js (или app/application/store.js, если вы используете контейнеры).

Переписывание хранилища - это то же самое, изменилось только имя файла/местоположение. Если вы используете версию Ember Data ниже, чем бета-версию 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);
    }
});

Ответ 2

Ответ для Ember 1.13:

Store теперь расширяет 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);
  }
});

Здесь пример twiddle