gpt4 book ai didi

ember.js - Ember : difference between unloadRecord and destroy for new records

转载 作者:行者123 更新时间:2023-12-01 11:23:21 32 4
gpt4 key购买 nike

在尚未持久化到后端的路由模型的上下文中(它的 id 仍然是 null,我们还没有调用 save),如果我们想丢弃记录,是否更正确使用 unloadRecorddestroy ?

上下文:当表单被转换离开但既没有保存也没有取消时使用。我是 ember 的新手,我对 unloadRecord 的事实感到有些困惑。对 Model 是私有(private)的,但对 Store 不是。这可能很明显,但我也不肯定将对象称为模型与记录是正确的(我假设它们有时可以互换使用,但如果它们是现有实例,将它们称为记录在技术上是正确的)。

最佳答案

如果您创建但不保存记录,它将位于 root.loaded.created.uncommitted状态(Ember 2.4)。调用destroyRecord将安排 save但也会立即将状态更改为 root.deleted.saved ,所以 save请求永远不会被执行。

您可以在浏览器中通过调用 destroyRecord 创建的网络请求来验证这一点。在新创建的记录上。

围绕调度 save 执行了一些额外的工作。调用destroyRecord时而不是 unloadRecord ,所以这里的权衡是在安排一个从不执行的保存和在删除记录之前确定模型状态的额外复杂性之间。
unloadRecord - 从商店卸载记录
deleteRecord - 删除记录但不保存(必须调用 save )
destroyRecord - 电话 deleteRecordsaverollbackAttributes - 回滚属性,或者,如果模型 isNew , 将其从商店中移除

关于ember.js - Ember : difference between unloadRecord and destroy for new records,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39733567/

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