您将如何过滤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

如果您已经尝试过,请随意忽略它;)

10-06 07:44