gpt4 book ai didi

ember.js - 从服务器刷新列表时如何忽略脏记录?

转载 作者:行者123 更新时间:2023-12-04 17:36:52 27 4
gpt4 key购买 nike

使用最新的 ember 和 ember-data。

我有一个带有项目列表的单页应用程序,并且能够在选项卡中打开项目。
我可以在打开的选项卡中编辑项目,无需提交脏记录,返回列表。

如果我刷新列表,则会收到错误消息:
Error: Attempted to handle event loadedData on <> while in state rootState.loaded.updated.uncommitted
这当然是因为我做了一个App.TestObject.find()在列表中,并且仍然有脏的未提交记录(在选项卡中打开和编辑的记录)。

我的目标是显示包含更新记录的列表,但对未提交的记录不做任何处理。
我不想对未提交的记录进行回滚。
是否有最佳实践?

This is a similar question ,但我不希望记录恢复到原始状态。
This is a similar case with a fiddle ,但这里的回滚是正确的解决方案。

如果我想在返回列表时忽略未提交的记录,我该如何解决这个问题?

最佳答案

我只有通过猴子补丁来解决这个问题 DS.Model .

DS.Model.reopen({
loadedData: function() {
if (this.get('isDirty') === false) {
this._super.apply(this, arguments);
}
}
});

导致模型在处于脏状态时不更新自身,无论新 JSON 中关于此记录的内容如何。其他记录会自行更新。

关于ember.js - 从服务器刷新列表时如何忽略脏记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15804405/

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