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)最後にそのオブザーバーを手動で削除する必要があります。たとえば、削除されません。

何か案は?これをどのように行いますか?

4

1 に答える 1

6

モデルで didCreate と didUpdate を使用できます。次のようなユーザーモデルがあると仮定しています。

MyApp.User = DS.Model.extend({
  first: DS.attr('string'),
  page: DS.attr('string'),
  didUpdate: function() {
    //Do something
  },
  didCreate: function() {
    //do something
  }
});
于 2012-05-14T19:08:20.427 に答える