Ember.js 过滤余烬阵列Proxy
如何过滤ArrayProxy的结果?我尝试了slice、filter、rejectBy,所有这些在视图中都没有结果。我想这是因为数据还不可用,但then(…)的使用也没有确定。有什么想法吗Ember.js 过滤余烬阵列Proxy,ember.js,ember-data,Ember.js,Ember Data,如何过滤ArrayProxy的结果?我尝试了slice、filter、rejectBy,所有这些在视图中都没有结果。我想这是因为数据还不可用,但then(…)的使用也没有确定。有什么想法吗 shownEvents: function(){ return Em.ArrayProxy.createWithMixins(Em.SortableMixin, { content: this.get('shownUser.events'), sortPropertie
shownEvents: function(){
return Em.ArrayProxy.createWithMixins(Em.SortableMixin, {
content: this.get('shownUser.events'),
sortProperties: ['eventTime.startTime', 'eventTime.endTime'],
sortAscending: true
});
}.property("shownUser"),
我已经看过很多类似的文章,但没有发现任何有效的
您可以通过将函数传递到
filter
并返回true
来过滤ArrayProxy
,以获得应通过过滤测试的值
比如:
App.IndexRoute = Ember.Route.extend({
model: function() {
return { pets: [ { type: 'dog'}, { type: 'cat'}, { type: 'fish'}] };
}
});
App.IndexController = Ember.ObjectController.extend({
myPets: function(){
return Em.ArrayProxy.createWithMixins(Em.SortableMixin, {
content: this.get('pets'),
sortProperties: ['type'],
sortAscending: true
}).filter(function(item){ return item.type.length === 3});
}.property("pets"),
});
工作
如果您已经尝试过,请免费填写以忽略此项;) 你能在jsbin中复制这个吗?谢谢@Kalman Hazins;我已经试过了,但我认为有一点延迟,因为async的延迟/承诺。侧面加载这项工作非常完美,async/promise尚未完成。也就是说,我在OP中没有具体说明,所以这绝对是正确的答案。再次感谢!但是…,this.filter(…)…,它会返回另一个ArrayProxy实例吗?如果是,这个新实例的“arrangedContent”是否只包含通过筛选的项?