我做了一个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时重新呈现集合,例如将setteam_name: 'bulls'更改为playing: false, side: null,将马刺更改为playing: true, side: 'home'

由于马刺模型是集合中的最后一个模型,它将在离开向导下呈现。我知道可以使用比较器来更改此设置,但是由于没有设置,我对此感到有些困惑。

最佳答案

更改任何模型的属性后,调用teams.sort()根据比较器重新排序。

09-25 18:17
查看更多