EmberData,如何在保存后将对象添加到商店中,而不是附加它?

时间:2016-01-31 13:52:15

标签: ember.js ember-data

正如标题所说,在保存新模型后,我如何在商店中预先添加而不是附加?

现在,创建记录将在现有对象的末尾推送商店中的新对象。我需要在一开始就推动它,你是怎么做到的?

2 个答案:

答案 0 :(得分:2)

好的,我创建了一个Ember Twiddle,其中每个新记录都插入到数组的开头。它应该对你有帮助 - demo

基本上你需要改变DS.RecordArrayManager._addRecordToRecordArray并改变:

array.addInternalModel(record);

要:

array.addInternalModel(record, 0);

如果您想创建一些特定的商店方法,例如store.createRecordAtBeginning,您必须将一些数据与InternalModel一起传递到许多类,并在DS.RecordArrayManager._addRecordToRecordArray中访问它以确定在哪个位置你需要插入。

答案 1 :(得分:0)

我终于设法使用Ember.computed.sort:

让它工作
// controller:
import Ember from 'ember';

export default Ember.Controller.extend({
   sortProp: ['position:asc'],
   sortedModels: Ember.computed.sort('model', 'sortProp'),
});

模板:

{{#each sortedModels as |mdl|}}...