LoginSignup
0

More than 5 years have passed since last update.

Ext.data.Model の状態フラグと同期について

Last updated at Posted at 2016-06-17

Ext JS の Ext.data.Model の状態フラグと同期についてメモっとく。まずはモデル単体での状態フラグの変化と同期動作が大事なんじゃないかと。

状態フラグ

モデルのインスタンスの基本的な状態フラグは下表のとおり。全フラグが false のときは「インスタンスが同期されている状態」になる。

状態フラグ 説明
phantom 作成されたインスタンスが同期されていない状態
dirty 変更されたインスタンスが同期されていない状態
dropped 削除されたインスタンスが同期されていない状態
erased 削除されたインスタンスが同期されている状態

状態フラグの変化と同期動作

モデルのインスタンスは大抵下記のメソッドで操作することになるので、その場合に状態フラグの変化と同期動作を覚えておけばいい。

メソッド 条件 状態フラグの変化 同期動作 説明
(new) - phantom: true - インスタンスを作成すると phantom になる。
load - - READ (GET) インスタンスを読込すると「全フラグが false」になる。
set - dirty: true - インスタンスを変更すると dirty になる。
drop phantom: true dropped: true
erased: true
- 作成されて同期されていないインスタンスを削除すると dropped & erased になる。
phantom: false dropped: true インスタンスを削除すると dropped になる。
save phantom: true phantom: false
dirty: false
CREATE (POST) 作成されて同期されていないインスタンスが同期されている状態になる。
phantom: false
dirty: true
dirty: false UPDATE (PUT) 変更されて同期されていないインスタンスが同期されている状態になる。
dropped: true erased: true DELETE (DELETE) 削除されて同期されていないインスタンスが同期されている状態になる。
erase phantom: true dropped: true
erased: true
- drop と save を連続実行するのと同じになる。
phantom: false DELETE (DELETE)

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0