过滤子路径中的RecordArray以返回RecordArray?

时间:2014-07-24 20:09:21

标签: ember.js ember-data

我试图在模型属性更改时更改我的视图 我不确定我是否走在正确的轨道上,但现在就去了。

我有一个名为lunches的父资源,其路由如下:

model: function(params){
  return this.store.filter('lunch', params, this.funcAll);
}

我有一条“服务”的儿童路线,其路线如此:

model: function(params){
  return this.modelFor('lunches').filterProperty('isServed', true);
  // as opposed to this.store.filter('lunch', this.funcFilter()})
}

当我在子路由中使用过滤器时,我能够这样做(我认为因为过滤器返回RecordArray),但这对我来说不起作用,原因是另一个原因。无论如何我可以让我的子路由返回RecordArray,它是原始模型的一个子集吗?

1 个答案:

答案 0 :(得分:0)

filter适用于集合。

App.ColorsRoute = Ember.Route.extend({
  model: function() {
     this.store.find('color');
    return this.store.filter('color',function(){
      return true;
    });
  }
});

App.ColorRoute = Ember.Route.extend({
  model: function(params) {
    return this.store.find('color', params.id);
  },
  setupController: function(controller, model){
    this._super(controller, model);

    var cMod = this.modelFor('colors'),
    subItems = cMod.filter(function(item){
      return item.get('color').indexOf('e')>=0;

    });
    console.log(subItems.get('length'));
  }
});

http://emberjs.jsbin.com/OxIDiVU/858/edit