您将如何过滤ArrayProxy的结果?我尝试了 slice ,过滤器,rejectBy,所有这些都导致 View 中没有结果。我想这是因为数据尚不可用,但是then(...)的使用也没有成功。有什么想法吗?
shownEvents: function(){
return Em.ArrayProxy.createWithMixins(Em.SortableMixin, {
content: this.get('shownUser.events'),
sortProperties: ['eventTime.startTime', 'eventTime.endTime'],
sortAscending: true
});
}.property("shownUser"),
我已经阅读了很多与此类似的文章,但是还没有找到任何可行的方法。
Can I add an additional computed property to an Ember ArrayProxy?
最佳答案
您可以通过将函数传递到ArrayProxy
并为需要通过过滤测试的值返回filter
来过滤true
。
就像是:
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"),
});
作品here
如果您已经尝试过,请随意忽略它;)