Ember.js 操纵记录数组
我有一个从App.ModelName.find()返回的RecordArray 我想用它做一些事情,比如:Ember.js 操纵记录数组,ember.js,ember-data,Ember.js,Ember Data,我有一个从App.ModelName.find()返回的RecordArray 我想用它做一些事情,比如: 对中的记录集进行分页 将另一个findQuery中的记录添加到数组中 我可能会感到困惑,但如何处理从find()/findAll()/findQuery()返回的记录似乎很困难(或者至少没有文档记录),而不是在集合上循环并正常显示它们 从all()返回的数组可能更接近于标识映射,这使得情况更加复杂 这一切都不可能,但如果不行,我可以打开问题,自己动手解决。余烬数据返回的RecordAr
- 对中的记录集进行分页
- 将另一个findQuery中的记录添加到数组中
这一切都不可能,但如果不行,我可以打开问题,自己动手解决。余烬数据返回的
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()就是我想要的。我保留了自己的过滤器列表,并开始在其上构建一个抽象,以便可以对多个属性和内容进行过滤。谢谢你的详细答复。