每个空格键 - 预览下一个和上一个项目

Blaze Spacebars Each - Preview next and previous items

本文关键字:下一个 上一个 项目 空格键      更新时间:2023-09-26

我有一个帮助程序返回一个名为game的对象数组。 在我使用的空格键中:每个游戏

我也有用户点击的选定游戏的会话。

在模板中,我想显示数组中下一个和上一个游戏的属性。 我该怎么做?

到目前为止,似乎可行的是将游戏数组设置为会话游戏数组。然后按会话数组中对象的 id 查找 selectedGame 的索引,然后使用 nextGame 和 previousGame 帮助程序访问那些通过索引 ++/--. 查询该数组的帮助程序 这似乎非常迟钝,而且我在尝试设置会话并且不想进行多个数据库调用时也收到有关参数大小的错误。 感谢任何帮助。

如果您使用的是 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>