【发布时间】:2019-07-29 09:48:24
【问题描述】:
我的 Ember 应用程序中有一条路由,它在模型挂钩中返回一组记录,如下所示:
model() {
return this.store.findAll('pending-post');
}
假设这返回 10 条记录,我可以在 Ember Inspector 的数据选项卡中看到这 10 条记录,并且当我登录 {{model}} 时。网络选项卡还显示数据对象中返回了一个包含 10 条记录的数组。
然后我转到我的应用程序中的另一条路线并编辑帖子,使其不再处于待处理状态。此更改将持续到后端。
当我返回仪表板时,模型挂钩再次运行。网络选项卡中的请求现在返回一个包含 9 个对象的数组,因为 API 只返回 9 个项目。
但是,Ember 检查器中的数据选项卡仍然显示 10 项,{{model}} 中仍然有 10 项。
强制 Ember 数据第二次删除 API 未返回的项目的最佳方法是什么?
【问题讨论】:
-
您确定
pending-post是一个实体,而不仅仅是post的一个子集吗?this.store.query('post', { filter: { pending: true } })或类似的东西会更容易处理您的用例。 -
在这种情况下,pending-post 是它自己的实体,因此查询参数无济于事,但我明白你对那个用例的看法。
标签: javascript ember.js