我做了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'
由于马刺模型是集合中的最后一个模型,它将在远离向导下呈现。我知道这可以通过使用比较器来改变,但我有点困惑,因为我没有添加,我正在设置。
答案 0 :(得分:2)
在您更改了任何模特的属性后,调用teams.sort()
根据比较器重新排序。