8
私は単純な答えがあると思う何かを達成しようとしていますが、何とかソースコードember-data
を見つけられません。トランザクションがコミットされた後にコールバックを設定する
特定の一連の変更がデータストアにコミットされた後でアクションをトリガーしたいと思います。この私の現在のコード:
var transaction = App.store.transaction();
user = App.get('currentUser');
transaction.add(user);
user.set('name', "Michael Jackson");
transaction.commit();
App.navigate('dashboard');
私の最初の試みは、このユーザーのisDirty
プロパティを超えるオブザーバを追加することでしたが、a)は、それは慣用いないようですし、もっと重要なのはB)私が手動でオブザーバを削除する必要がありますいくつかの例外が間に発生し、削除されないなど、エラーが発生しやすくなります。
アイデア?あなたはどうしますか?
うわー。私はとても馬鹿だと感じる。前にこれを見つけられなかった:| - それはreadmeの右です! https://github.com/emberjs/data#record-lifecycle ありがとうございます! – josepjaume
事は、このロジックはモデル自体に属していないということです。その特定のコンテキストに属している必要があります。 エンバーは最近、このような場合に有用であるかもしれない1回限りのイベントのコールバックを導入:https://github.com/emberjs/ember.js/commit/1809e65012b93c0a530bfcb95eec22d972069745#L0R19 だから私は簡単にできます。 model.one ( 'didCreate'、function(){何でも}); – josepjaume
どのモデルでも、コミットが発生したときにのみロールするグローバルAJAXローダーイメージを作成したいと思います。これはどうすればできますか? –