目标
我有一个名为“n”的顶级集合Players
和一个名为“n”的会话变量。除了我的顶级集合之外,我还希望有一个Players
基于的 top-'n' 集合player.points
,它会根据Session.set('n', n)
(当然,基础Players
数据的任何更改)进行更新。
基本原理
我想要一个的原因TopNPlayers
是因为在每个播放器模板中(调用它Template.player_item
)我想提供几个变量:
Template.player_item.isInTopN
,它设置一个 CSS 类来突出显示一个播放器,如果它位于前 n 个点中Template.player_item.PointsVsBaseline
,它给出了该玩家的分数与 中的第 n 个玩家之间的差异TopNPlayers
。
由于我不想手动管理包含Players
按 的值过滤的全局变量Session.get('n')
,而且我当然不想每次渲染另一个时都计算 top-'n' player_item
,所以我想设置一个额外的订阅到Players
收藏。