一般问题:
我想了解当前交易(currentTransaction
)和默认交易(defaultTransaction
)。
具体问题:
我在Ember控制器this.get('model').save()
和this.get('store').commit()
中been comparing。
this.get('model').save()
最终会调用Ember-data Store的get(this, 'currentTransaction').commit().
,请参阅github。
this.get('store').commit()
最终会调用Ember-data Store的get(this, 'defaultTransaction').commit()
,请参阅github。
在更新单个编辑记录的情况下,它们似乎完全相同。如何以不同的方式使用它们?
答案 0 :(得分:3)
我想了解当前事务(currentTransaction)和默认事务(defaultTransaction)
在更新单个编辑记录的情况下,它们似乎完全相同。如何以不同的方式使用它们?
在这种情况下,他们会做同样的事情。
一般来说,model.save()可能是一个更好的选择,因为1)如果有其他未保存的记录,它不会有意想不到的副作用; 2)在多个模型上调用save()将导致只有一个commit() ,使批量保存成为可能。
有点相关:
Difference between model.save() versus model.get('store').commit()