それは本当ですcommit
その進行状況を示していません。モデルのセットアップdidCreate
とdidUpdate
コールバックを行って、アプリに変更通知を挿入します。
Ember-Data トランザクション モデルの性質上、commit
が要求された場合とされなかった場合で多くのことが発生する可能性があります。コールバック通知は、適切なユーザー向けメッセージにまとめるか調整する必要があるでしょう。
DIY の代替手段: isSaving プロパティと afterSave オブザーバーを作成する
コントローラーで、計算されたプロパティと監視を使用して、isSaving
状態の特定のデータ モデルを監視します。
// Example of a data model with a belongsTo association & nested hasMany
isSaving: function() {
return this.get('isSaving') || (
!Ember.empty(this.get('association')) && (
this.get('association.isSaving') ||
this.get('association.nestedAssociation').some(function(item) { return item.get('isSaving'); })
)
);
}.property("isSaving", "association.isSaving", "association.nestedAssociation.@each.isSaving"),
afterSave: function() {
if (this.get('isSaving')) return;
// do something interesting
}.observes('isSaving')
これは、ember-data のジェネリック、グローバルisSaving
、またはisInFlight
状態と比較するとダーティですが、実際には非常にうまく機能します。