观察组件中的Ember数据存储更改

时间:2015-05-15 07:03:42

标签: ember.js ember-data ember-cli

我有一个组件可以为这样的特定模型创建记录:

export default Ember.Component.extend({

    store: Ember.inject.service(),

    addRecord(account) {
      this.get('store').createRecord('update', {
        authUid: account.get('authUid'),
        service: account.get('platform')
      });
    }
});

我有另一个组件需要观察对特定模型所做的更改(即,如果添加或删除了记录),并在该组件中显示它们。

export default Ember.Component.extend({
    store: Ember.inject.service(),

    observeStoreChanges: /*What should I write so that every time `addRecord`
pushes record in the store, a function is executed in this component*/

});

1 个答案:

答案 0 :(得分:0)

如果你是观察者模式的粉丝:

// store.js
export default DS.Store.extend(Ember.Evented, {
    createRecord() {
        const record = this._super.apply(this, arguments);
        this.trigger('recordCreated', record);
        return record;
    }
});

// component.js
export default Ember.Component.extend({
    observesStoreChanges: function(record) {

    }.on('store.recordCreated')
});