在带有ember-data的Ember.js中(使用1.0pre版本),对数据的所有更改都会保存到商店的defaultTransaction中。使用store.commit()
提交商店时,所有对数据的更改都会保存回API(使用RESTAdapter)。
我希望更多地控制持久化的对象。所以现在,我一直在获取商店和适配器的实例,然后调用类似adapter.createRecord(store, type, record)
或updateRecord
的内容,其中type
是App.Person
模型,而记录是其中的一个实例模型。
这是使用我认为不能直接使用的DS.RESTAdapter
的内部位。虽然它有效但我希望有更好的方法来获得对持久性的更多控制store.commit()
。我的应用程序的业务逻辑和用户体验需要更好的控制。
答案 0 :(得分:3)
transaction = router.get('store').transaction();
person = transaction.createRecord(App.Person);
person.set('name', 'Thanatos');
transaction.commit();
观看耶胡达对此的介绍。 http://www.cloudee.com/preview/collection/4fdfec8517ee3d671800001d