Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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 操纵记录数组_Ember.js_Ember Data - Fatal编程技术网

Ember.js 操纵记录数组

Ember.js 操纵记录数组,ember.js,ember-data,Ember.js,Ember Data,我有一个从App.ModelName.find()返回的RecordArray 我想用它做一些事情,比如: 对中的记录集进行分页 将另一个findQuery中的记录添加到数组中 我可能会感到困惑,但如何处理从find()/findAll()/findQuery()返回的记录似乎很困难(或者至少没有文档记录),而不是在集合上循环并正常显示它们 从all()返回的数组可能更接近于标识映射,这使得情况更加复杂 这一切都不可能,但如果不行,我可以打开问题,自己动手解决。余烬数据返回的RecordAr

我有一个从App.ModelName.find()返回的RecordArray

我想用它做一些事情,比如:

  • 对中的记录集进行分页
  • 将另一个findQuery中的记录添加到数组中
我可能会感到困惑,但如何处理从find()/findAll()/findQuery()返回的记录似乎很困难(或者至少没有文档记录),而不是在集合上循环并正常显示它们

从all()返回的数组可能更接近于标识映射,这使得情况更加复杂


这一切都不可能,但如果不行,我可以打开问题,自己动手解决。

余烬数据返回的
RecordArray
实际上并不用于修改。特别是,
Model.find()
(sans参数)和
Model.all()
返回实时数组,这些数组会随着新的匹配记录可用而不断更新

如果要操作一组模型,最好使用
Model.find({})
(参数使其使用
findQuery()
)并观察
isLoaded
属性。大概是这样的:

query: null,

init: function() {
  // should really do this in the route
  this.set('query', Model.find({}));
},

content: function() {
  var query = this.get('query');
  return query && query.get('isLoaded') ? query.toArray() : [];
}.property('query.isLoaded')
现在内容返回一个普通的旧数组,您可以随心所欲地使用它(尽管您仍然需要等待记录加载,然后才能开始修改数组)

如果问题是希望查询继续更新,那么考虑使用<代码>模型.Fielter()<代码>,它返回一个像“代码>查找())< /C> >的实况数组,但接受匹配函数。请注意,

find()

至于分页,您可以试试,或者更详细一些。

Model.filter()就是我想要的。我保留了自己的过滤器列表,并开始在其上构建一个抽象,以便可以对多个属性和内容进行过滤。谢谢你的详细答复。