【发布时间】:2015-01-22 16:51:23
【问题描述】:
我正在寻找一种绑定分组对象并将其渲染到网格的好方法。这是一个网格示例:
| League / Country | Canada | United States | Brazil |
| 1 | John, Sam | | Tim |
| 2 | Liam | | Robert |
| 3 | | James, Peter, Tom | Den |
还有玩家的模型
DS.Model.extend({
name: DS.attr(),
country: DS.attr(),
leagueId: DS.attr("number")
});
从后端收到的数据是:
[
{ name: "John", country: "Canada", leagueId: 1 },
{ name: "Sam", country: "Canada", leagueId: 1 },
{ name: "Tim", country: "Brazil", leagueId: 1 },
{ name: "Liam", country: "Canada", leagueId: 2 },
...
]
我想到了以下几点:
{{#each country in countries}}
<tr>
{{#each league in leagues}}
<td>
{{#each player in players}}
{{#is player.country "==" country}}
{{#is player.leagueId "==" league}}
... output player ..., e.g. {{ render 'player/card' player }}
{{/is}}
{{/is}}
{{/each}}
</td>
{{/each}}
</tr>
{{/each}}
但是在模板中进行过滤看起来并不好。有没有好办法把它移到控制器上?
将球员列表输出到这样的网格中的 Ember 方式是什么,以便很好地绑定,如果我改变国家或联赛 - 球员会被渲染到适当的单元格中?
【问题讨论】:
标签: javascript ember.js ember-data