gpt4 book ai didi

javascript - 返回路线时,Ember 重置 Ember 数据中的项目

转载 作者:行者123 更新时间:2023-11-30 19:44:49 24 4
gpt4 key购买 nike

我的 Ember 应用程序中有一个路由,它返回模型 Hook 中的一组记录,如下所示:

model() {
return this.store.findAll('pending-post');
}

假设这返回 10 条记录,我可以在 Ember Inspector 的数据选项卡中看到这 10 条记录,并且当我登录 {{model}} 时。网络选项卡还显示数据对象中返回了一个包含 10 条记录的数组。

然后我转到应用程序中的另一条路线并编辑帖子,使其不再处于待处理状态。此更改将保留到后端。

当我返回仪表板时,模型 Hook 再次运行。网络选项卡中的请求现在返回一个包含 9 个对象的数组,因为 API 仅返回 9 个项目。

但是,Ember inpector 中的数据选项卡仍然显示 10 个项目,{{model}} 中仍然有 10 个项目。

强制 Ember 数据删除 API 第二次未返回的项目的最佳方法是什么?

最佳答案

将记录持久化到后端会返回一个 Promise。因此,可以在 then 处理程序中使用 store.unloadRecord() 从存储中删除记录。

record.save().then(function(){
this.store.unloadRecord(record);
});

或者在查询模型之前,从存储中删除所有记录。

model()
{
this.store.unloadAll('pending-post');
return this.store.findAll('pending-post');
}

模型名称可以采用驼峰式或破折号形式。

关于javascript - 返回路线时,Ember 重置 Ember 数据中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55044960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com