Ember 返回路线时重置 Ember 数据中的项目
Ember reset items in Ember data when returning to route
我的 Ember 应用程序中有一条路线,它 return 是模型挂钩中的一组记录,如下所示:
model() {
return this.store.findAll('pending-post');
}
假设这returns 10条记录,我在Ember Inspector的数据选项卡中可以看到这10条记录,当我登录{{model}}
时。网络选项卡还显示在数据对象中 return 包含 10 条记录的数组。
然后我转到我的应用程序中的另一条路线并编辑 post 以便它不再处于待处理状态。此更改将保留到后端。
当我 return 到仪表板时,模型挂钩再次运行。网络选项卡中的请求现在 return 是一个包含 9 个对象的数组,因为 API 只有 returning 9 个项目。
但是,Ember inpector 中的数据选项卡仍然显示 10 个项目,{{model}}
中仍然有 10 个项目。
强制 Ember 数据删除未被 API 第二次 return 编辑的项目的最佳方法是什么?
将记录保存到后端returns一个Promise
。因此 store.unloadRecord()
可用于 then
处理程序以从存储中删除记录。
record.save().then(function(){
this.store.unloadRecord(record);
});
或者在查询模型之前,从存储中删除所有记录。
model()
{
this.store.unloadAll('pending-post');
return this.store.findAll('pending-post');
}
型号名称可以采用驼峰式或破折号形式。
我的 Ember 应用程序中有一条路线,它 return 是模型挂钩中的一组记录,如下所示:
model() {
return this.store.findAll('pending-post');
}
假设这returns 10条记录,我在Ember Inspector的数据选项卡中可以看到这10条记录,当我登录{{model}}
时。网络选项卡还显示在数据对象中 return 包含 10 条记录的数组。
然后我转到我的应用程序中的另一条路线并编辑 post 以便它不再处于待处理状态。此更改将保留到后端。
当我 return 到仪表板时,模型挂钩再次运行。网络选项卡中的请求现在 return 是一个包含 9 个对象的数组,因为 API 只有 returning 9 个项目。
但是,Ember inpector 中的数据选项卡仍然显示 10 个项目,{{model}}
中仍然有 10 个项目。
强制 Ember 数据删除未被 API 第二次 return 编辑的项目的最佳方法是什么?
将记录保存到后端returns一个Promise
。因此 store.unloadRecord()
可用于 then
处理程序以从存储中删除记录。
record.save().then(function(){
this.store.unloadRecord(record);
});
或者在查询模型之前,从存储中删除所有记录。
model()
{
this.store.unloadAll('pending-post');
return this.store.findAll('pending-post');
}
型号名称可以采用驼峰式或破折号形式。