【发布时间】:2015-11-23 10:40:02
【问题描述】:
Ember.data 2.2.0
刚刚创建的对象的状态是脏的(get('hasDirtyAttributes' return true),因为每次都会设置新的ID。
我需要知道记录何时创建、未保存以及“用户”未修改它。所以,我不能使用脏状态导致商店改变它。
如果我在创建记录后修改了内部状态,我会破坏记录内部的东西吗?
我真正需要的是,当我创建记录时,我需要一个初始状态,并且我想检测用户何时更改它。所以,我在记录源代码中看到,它使用“setProperties”方法来设置 ID 和可选的数据传递给 createRecord 方法。
所以,我想在创建后覆盖 createRecord 存储方法以将脏状态设置为 false。校长,我该怎么做?
我看到了 DS.RootState Class 的文档,它只讨论了这些状态:(删除、保存、未提交、inFlight、空、加载、创建、更新、加载)和方法 translateTo 但没有改变脏状态.
在文档中说:
标志是布尔值,可用于内省记录的 以比检查其状态更用户友好的方式当前状态 路径
所以...我将 currentState.parentState.isDirty 设置为 false 并且它
编辑: 直接设置flag后,记录不改变状态,保持nodorty。那么,我该怎么办?
【问题讨论】:
-
如果创建记录,可以使用
isNew状态。
标签: ember.js ember-data