2014-02-07 71 views
1

我在我的IndexRoute中找到了以下RSVP哈希,它查找所有滑块记录(我需要使用哈希,因为我需要在此页面上加载2个模型)。我可以在索引模板中调用滑块或this.sliders以成功将所有滑块对象传递给视图组件。在ember.js中通过属性过滤多个模型路由

但是,我需要通过页面属性“index”过滤这些记录。当我将FilterBy添加到IndexRoute时,不会返回任何记录。

如何过滤这些记录并在模板中使用生成的数组?

IndexRoute

App.IndexRoute = Ember.Route.extend({ 
    model: function() { 
     return Ember.RSVP.hash({ 
      sliders: this.store.findAll("slider"), # Adding .filterBy("page", "index") fails to load anything 
      products: this.store.findAll("products") 
     }); 
    } 
}); 

的index.html

<script type="text/x-handlebars" data-template-name="index"> 
    {{mainpage-slider sliders=sliders}} 
</script> 

回答

1

过滤器添加到控制器KingPin2k

App.IndexRoute = Ember.Route.extend({ 
    model: function() { 
    return Ember.RSVP.hash({ 
     sliders: this.store.find("slider"), # Adding .filterBy("page", "index") fails to load anything 
     products: this.store.find("products") 
    }); 
    } 
}); 

App.IndexController = Em.ObjectController.extend({ 
    filteredSlider: function(){ 
    return this.get('sliders').filterBy('page', 'index'); 
    }.property('[email protected]') 
}); 
+0

嗨刚刚得到这个工作的感谢!我只需将this.get(“slider”)更改为this.get(“slider”)以反映Route哈希中的属性。非常感谢。 – dodgerogers747

+0

哎呀,错过了复数化,好抓 – Kingpin2k