我正在努力实现一些我认为有简单答案的东西,但不知何故我找不到它阅读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)我必须在最后手动删除那个观察者 - 这很容易例如,如果某些异常在两者之间发生并且没有被删除,则会出现错误。
有什么想法吗?你会怎么做?
答案 0 :(得分:6)
您可以在模型上使用didCreate和didUpdate。我假设你有一个用户模型,如:
MyApp.User = DS.Model.extend({
first: DS.attr('string'),
page: DS.attr('string'),
didUpdate: function() {
//Do something
},
didCreate: function() {
//do something
}
});