正如标题所说,在保存新模型后,我如何在商店中预先添加而不是附加?
现在,创建记录将在现有对象的末尾推送商店中的新对象。我需要在一开始就推动它,你是怎么做到的?
答案 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|}}...