2
以下save
函數提交整個商店。我怎樣才能提交this
? this.commit();
不起作用。單個對象的commit()
app.js
App.UserController = Ember.ObjectController.extend({
save: function() {
this.get('store').commit();
}
})
以下save
函數提交整個商店。我怎樣才能提交this
? this.commit();
不起作用。單個對象的commit()
app.js
App.UserController = Ember.ObjectController.extend({
save: function() {
this.get('store').commit();
}
})
您可以創建一個交易中,記錄添加到它,然後提交(或回滾)的交易:
startEditing: function() {
this.transaction = this.get('store').transaction();
this.transaction.add(this.get('content');
},
save: function() {
this.transaction.commit();
}
除此之外,設置提交後'this.transaction'爲null可能是個好主意。 –
@FinnMacCool我同意。下面是我編寫的一個示例項目中的一個控制器,它遵循以下模式:https://github.com/dgeb/ember_data_example/blob/master/app/assets/javascripts/controllers/contact_edit_controller.js –
有時候我遇到了這種方法的問題,特別是用'rollback'。我現在在'Route'中使用'this.get('store.currentTransaction')。commit()//或.rollback()',因此我沒有任何問題。這樣我就不必從商店獲得一個事務實例,或者有一個方法來啓動一個事務。 – MilkyWayJoe