EmberJS过滤从商店

时间:2017-02-16 02:45:34

标签: ember.js filter

我是Ember的新手并试图找出使用Ember过滤数据的最佳方法。我认为这将是通过创建一个帮助器或一个组件,但我实现这些解决方案的尝试已经失败了。

今天已经阅读了很多关于此的内容并尝试了几种选择,我的大脑受伤了,而且我的结果并不接近。

我正在为即将到来的体育赛季制定赛程安排。该模板目前呈现所有游戏。我们的想法是,当您点击团队名称时,您将只看到该团队的游戏。显示的数据存储在Firebase(EmberFire)中。

按日期过滤的能力也不错,但我认为这对未来的红色来说是一个问题。

很抱歉我的问题含糊不清,我知道我想做什么我不知道怎么去那里。

谢谢! 红色

1 个答案:

答案 0 :(得分:0)

所以听起来你想使用查询参数来指定要过滤的团队。在Controller中,指定queryParams属性,然后创建一个计算属性,该属性从模型中返回已过滤的列表:

queryParams: ['selectedTeam'],
selectedTeam: null,
filteredGames: Ember.computed('selectedTeam', 'model', function() {
  let selectedTeam= this.get('selectedTeam');
  let model= this.get('model');

  if (selectedTeam) {
    return model.filterBy('team', selectedTeam)
  }
  else {
    return model;
  }

然后,在您的模板中,使用model

,而不是使用filteredGames
{{#each filteredGames as |game|}}
   ... render the {{game}} ...
{{/each}}

希望有所帮助。