1

当使用 Ember Data 创建新记录时,get("isDirty")返回 true。但是到目前为止,用户还没有对记录进行任何更改,我们可以丢弃它而不会丢失用户的任何工作。

是否有任何官方支持的方法来检测这种情况,其中记录已创建但未设置属性?

(对于旧版本的 Ember Data,在进行大修之前,这个问题的答案不完整didSetProperty。该功能仍然存在于当前版本中,但没有记录。不过,如果没有官方可以提供的解决方案,它可能是一条可能的途径被发现。)

4

1 回答 1

0

在内部,更改的属性由属性跟踪_attributes。你可以做一个检查

record.get('isNew') && Ember.keys(record._attributes).length === 0

看到它刚刚创建并且没有任何更改。

请注意,这并不意味着是外部 API 的一部分,但我不知道有任何外部 API 可以实现这一点。

于 2013-10-18T14:29:41.080 回答