Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js MemberData,如何在保存后将对象预先添加到存储中,而不是追加它?_Ember.js_Ember Data - Fatal编程技术网

Ember.js MemberData,如何在保存后将对象预先添加到存储中,而不是追加它?

Ember.js MemberData,如何在保存后将对象预先添加到存储中,而不是追加它?,ember.js,ember-data,Ember.js,Ember Data,正如标题所说,在保存新模型后,如何在存储中进行预处理而不是追加 现在,创建一条记录会将新对象推送到存储区中现有对象的末尾。我需要在开始时推动它,你怎么做?好的,我创建了一个余烬旋转,每个新记录都插入到数组的开头。它应该对你有帮助 基本上,您需要更改DS.RecordArrayManager.\u添加RecordToRecordArray并更改: array.addInternalModel(record); 致: 如果您想创建一些特定的存储方法,如store.createRecordatBeg

正如标题所说,在保存新模型后,如何在存储中进行预处理而不是追加


现在,创建一条记录会将新对象推送到存储区中现有对象的末尾。我需要在开始时推动它,你怎么做?

好的,我创建了一个余烬旋转,每个新记录都插入到数组的开头。它应该对你有帮助

基本上,您需要更改DS.RecordArrayManager.\u添加RecordToRecordArray并更改:

array.addInternalModel(record);
致:


如果您想创建一些特定的存储方法,如
store.createRecordatBeging
,则必须通过许多类传递一些数据以及
InternalModel
,并在
DS.RecordArrayManager中访问这些数据。\u添加RecordToRecordArray
以确定需要插入的位置。

确定,我创建了一个余烬旋转,每个新记录都插入到数组的开头。它应该对你有帮助

基本上,您需要更改DS.RecordArrayManager.\u添加RecordToRecordArray并更改:

array.addInternalModel(record);
致:


如果您想创建一些特定的存储方法,如
store.createRecordatStart
,您必须通过许多类传递一些数据以及
InternalModel
,并在
DS.RecordArrayManager中访问它。\u添加RecordToRecordArray
,以确定需要插入的位置。

我终于管理好了要使用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|}}...

我最终设法使用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|}}...

你为什么需要它?如果在显示或其他任何内容之前进行排序不是更容易吗?我已经在缓存中加载了X条记录,我正在列表中显示这些记录,然后我正在添加Yth记录,我不想再次调用服务器来加载X条记录,因为它们无论如何都没有更改。这就是为什么我希望Yth记录在前面,而不是附加。现在,这个新记录被推到实际列表的末尾,我不想这样,我想找到一种方法在列表的开头被取消,否则我应该再次查询服务器。您不需要再次查询服务器。您可以按某些属性对数据数组进行排序,如
顺序
。您使用
顺序=0推送新记录,然后使用
存储获取所有当前记录(新记录除外)。peekAll
,将它们的
顺序增加1,然后您需要一些观察者或计算属性,这些属性将对视图层(组件或控制器)中的数组重新排序。我调查了您需要如何执行此操作,其中包括处理Store、InternalModel、RecordArrayManager(更新实时数组)、OrderedSet。@DanielKmak-感谢您的建议,我设法使用Ember.computed.sort使其正常工作。毕竟,sort更简单。您为什么需要它?如果在显示或其他任何内容之前进行排序不是更容易吗?我已经在缓存中加载了X条记录,我正在列表中显示这些记录,然后我正在添加Yth记录,我不想再次调用服务器来加载X条记录,因为它们无论如何都没有更改。这就是为什么我希望Yth记录在前面,而不是附加。现在,这个新记录被推到实际列表的末尾,我不想这样,我想找到一种方法在列表的开头被取消,否则我应该再次查询服务器。您不需要再次查询服务器。您可以按某些属性对数据数组进行排序,如
顺序
。您使用
顺序=0推送新记录,然后使用
存储获取所有当前记录(新记录除外)。peekAll
,将它们的
顺序增加1,然后您需要一些观察者或计算属性,这些属性将对视图层(组件或控制器)中的数组重新排序。我调查了你需要怎么做,这涉及到如何处理Store、InternalModel、RecordArrayManager(更新实时数组)、OrderedSet。@DanielKmak-谢谢你的建议,我设法用Ember.computed.sort使它工作起来毕竟更简单。我更喜欢你最初的建议
Ember.computed.sort
,不那个么烦琐。是的,我也是,但在实时数组的开头追加的想法非常有趣。看到余烬内部结构如何工作总是令人兴奋的。;)我更喜欢您最初建议的
Ember.computed.sort
,不那么复杂。是的,我也是,但在活动数组的开头追加的想法非常有趣。看到余烬内部结构如何工作总是令人兴奋的。;)