我是Ember的新手并试图找出使用Ember过滤数据的最佳方法。我认为这将是通过创建一个帮助器或一个组件,但我实现这些解决方案的尝试已经失败了。
今天已经阅读了很多关于此的内容并尝试了几种选择,我的大脑受伤了,而且我的结果并不接近。
我正在为即将到来的体育赛季制定赛程安排。该模板目前呈现所有游戏。我们的想法是,当您点击团队名称时,您将只看到该团队的游戏。显示的数据存储在Firebase(EmberFire)中。
按日期过滤的能力也不错,但我认为这对未来的红色来说是一个问题。
很抱歉我的问题含糊不清,我知道我想做什么我不知道怎么去那里。
谢谢! 红色
答案 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}}
希望有所帮助。