ember.js - 如何确保 Ember Data 从存储中删除缓存?

标签 ember.js ember-data

我有一个显示模型计数的 Controller

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 它实际上会从存储中删除模型并更新 Controller 中的模型数组?

路由钩子(Hook)模型是这样的

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

最佳答案

事实证明,我在 route 使用了 mixin,并且在该 mixin 中,model 函数实际上使用 this.store.peekAll().filter() 创建了一个新数组 code> 显然不会更新,因为数组现在指向另一个对象/facepalm

关于ember.js - 如何确保 Ember Data 从存储中删除缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41275279/

相关文章:

javascript - 特定 ember 组件的设置值

Ember.js——如何从路由访问 Ember session 中的数据

javascript - Ember.js:数组中当前元素的计算属性

ember.js - Ember、Ember-data 和 jquery-ui.dialog, "Oh my!"

javascript - Ember.js:如何在 Javascript 代码中访问模型的属性

ember.js - RESTAdapter : how to create resources with nested path

javascript - Ember js 使用假数据组件的集成测试中的模型创建真实的模型对象

ember.js - Ember数据渲染有很多

ember.js - 绕过: No 'Access-Control-Allow-Origin' header is present on the requested resource

ember.js - Uncaught Error : No model was found for 'model'