ember.js - 事务提交后设置回调

标签 ember.js ember-data

我正在尝试实现一些我认为有一个简单答案的东西,但不知怎的,我在阅读 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) 我必须在最后手动删除该观察者 -例如,如果中间出现一些异常并且没有被删除,则很容易出错。

有什么想法吗?你会怎么做?

最佳答案

您可以在模型上使用 didCreate 和 didUpdate。我假设您有一个用户模型,例如:

MyApp.User = DS.Model.extend({
  first: DS.attr('string'),
  page: DS.attr('string'),
  didUpdate: function() {
    //Do something
  },
  didCreate: function() {
    //do something
  }
});

关于ember.js - 事务提交后设置回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10571406/

相关文章:

ember.js - 在调用中使用查询参数时缓存记录? Ember 数据

javascript - 如何根据另一个 Ember.Select 的选定选项通过计算属性填充 Ember.Select 选项

javascript - Ember 组件和迭代过程中的动态属性

javascript - EmberJS : "Uncaught Error: More context objects were passed than there are dynamic segments for the route"

ember.js - 在 Github Pages 上的 Ember.js 中获取没有哈希的 url

ember.js - Ember.Data 重新加载内容,UI 未更新

javascript - 每当用户使用谷歌地图 API 将图钉拖动到任何地方时,如何获取用户的新纬度、朗度

javascript - 尝试 JSON.stringify Ember 模型时 ID 丢失

ember.js - 如何在 Ember-Data 上设置映射

javascript - Ember组件的sendAction在destroyRecord后不会冒泡