如何确保 Ember 数据从存储中删除缓存?
How to ensure Ember Data remove the cache from store?
我有一个显示模型数量的控制器
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');
},
})
原来我在我的路由中使用了一个 mixin,在那个 mixin 中,model
函数实际上使用 this.store.peekAll().filter()
创建了一个新数组,这显然不会更新,因为数组现在指向到另一个对象/facepalm
我有一个显示模型数量的控制器
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');
},
})
原来我在我的路由中使用了一个 mixin,在那个 mixin 中,model
函数实际上使用 this.store.peekAll().filter()
创建了一个新数组,这显然不会更新,因为数组现在指向到另一个对象/facepalm