我有一个帮助器返回一个名为game的对象数组。在空格键我使用:每场比赛
我还有一个由用户点击的selectedGame的会话。
在模板中,我想显示阵列中下一个和上一个游戏的属性。我怎么能这样做?
到目前为止,似乎可行的是将游戏数组设置为Session gameArray。然后通过Session数组中对象的id查找selectedGame索引,然后使用nextGame和previousGame帮助程序访问那些通过索引++ / - 查询该数组的索引。这似乎非常迟钝,我在尝试设置Session并且不想进行多个db调用时也会收到有关参数大小的错误。感谢任何帮助。
答案 0 :(得分:2)
如果您使用的是Meteor> = 1.2,您可以从每个模式中以某种方式使用索引函数,并将其作为上下文传递给您的每个模板:
<template name="main">
{{#each iterateMe}}
{{> iteratee i=@index}}
{{/each}}
</template>
然后你可以注册一个帮手:
Handlebars.registerHelper('isNextOrPrev', function(val){
var x = Session.get("selectedGame");
if (!!val && typeof val == "number" && (val == (x-1) || val == (x+1)) )
return true;
return false;
});
并检查模板中的助手
<template name="iteratee">
{{#if isNextOrPrev i}}
<!--SHOW ADDITIONAL PROPERTIES HERE-->
{{/if}}
</template>