如何确保Ember Data从商店中删除缓存?

时间:2016-12-22 03:18:12

标签: ember.js ember-data

我有一个显示模型计数的控制器

const BlahController = Ember.Controller.extend({
    totalRows: Ember.computed('model.[]', function() {
        let items = this.get('model') || [];
        return items.get('length');
    }),
    ...
})

然后,当我删除模型时,我使用destroyRecord进行操作,甚至确保将其卸载

model.destroyRecord().then(() => {
    this.get('store').unloadRecord(model);
}

知道为什么totalRows永远不会更新?我会想通过调用store.unloadRecord它实际上会从商店中删除模型并更新控制器中的模型数组吗?

路由钩子模型就是这样的

const BlahRoute = Ember.Route.extend({
    model() {
        return this.store.findAll('blah-model');
    },
})

1 个答案:

答案 0 :(得分:2)

原来我在我的路线中使用了mixin,并且在该混合中,model函数实际上使用this.store.peekAll().filter()创建了一个新数组,显然不会因为数组现在指向而更新到另一个对象/ facepalm