我做了一个FIDDLE
在我的主要应用程序中,当将home
团队更改为新团队时,如果集合中的模型位于底部,则无论位于家中还是不在,模型都将在底部呈现。
我想使用比较器将具有home
属性的模型设置为具有away
属性的模型,以使渲染时的顺序始终是“ home->”。
这很好,因此我不必进行任何DOM操作,只需让模型的顺序处理我的UI。
范例集
var teams = new TeamsCollection([
{ team_name: 'bulls', playing: true, side: 'home' },
{ team_name: 'wizards', playing: true, side: 'away' },
{ team_name: 'spurs', playing: false, side: null }
]);
然后我有一些逻辑来限制我传递给视图的模型,该视图只会呈现
team_name: 'bulls'
和team_name: 'wizards'
公牛队已经回到家了,所以已经按顺序排列,然后是客队巫师在下面。我想保持主队作为第一阵容。
因此,我有逻辑可以在您要将主队更改为
spurs
时重新呈现集合,例如将set
从team_name: 'bulls'
更改为playing: false, side: null
,将马刺更改为playing: true, side: 'home'
由于马刺模型是集合中的最后一个模型,它将在离开向导下呈现。我知道可以使用比较器来更改此设置,但是由于没有设置,我对此感到有些困惑。
最佳答案
更改任何模型的属性后,调用teams.sort()
根据比较器重新排序。