Meteor 在车把中正确渲染关闭标记

Meteor 在车把中正确渲染关闭标记,meteor,handlebars.js,Meteor,Handlebars.js,我正在使用Meteor并试图绕过缺少把手@index的问题。我快到了。我已经实现了一个计数器和几个助手函数: initCounter将计数器初始化为0 incCounterMod递增计数器并应用模来获得每个X数 计数器是只需检查计数器是一个特定的数字X 所有这些基本上都是为了在我的输出中每行获得三个项目。以下是一个示例: {{initCounter}} <div class="row-fluid"> {{#each list}} <span><

我正在使用Meteor并试图绕过缺少把手@index的问题。我快到了。我已经实现了一个计数器和几个助手函数:

  • initCounter
    将计数器初始化为0
  • incCounterMod
    递增计数器并应用模来获得每个X数
  • 计数器是
    只需检查计数器是一个特定的数字X
所有这些基本上都是为了在我的输出中每行获得三个项目。以下是一个示例:

  {{initCounter}}
  <div class="row-fluid">
  {{#each list}}
    <span></span>
    {{incCounterMod 3}}
    {{#if counterIs 0}}
      </div><div class="row-fluid">
    {{/if}}
  {{/each}}
  </div>
有点傻,因为我没有要求。我试图结束一个
并开始另一个,而不是根据它们在源代码中出现的位置来匹配它们。(注意:控制台调试表明所有计数器和东西都工作正常。)

有没有办法绕过这个问题?我以为车把只是呈现html文本,因为它去。。。我想我可能错了


谢谢。

如果你的目标仅仅是使用三列来在页面上安排更多的项目,那么对于每一行可能不需要有<代码> div ,并且你可能想考虑基于CSS的方法。如何将数据输出为
li
元素。CSS设置容器和每个
li
的宽度,并将数据流到所需的列数中。这种方法的一个优点是,您可以使显示器具有响应性(可能在手机或侧边栏上显示时只需要一列,或者在打印输出中只需要8列)。这将为您提供一个非常简单的模板:

<ol>
  {{#each list}}
    <li>{{value}}</li>
  {/each}
</ol> 

有趣的是,Handlebar对如何使用它如此固执己见,以至于它为您“修复”了您的代码,但在大多数情况下效果很好。上面的html应该更容易阅读和排除故障。不过,这将使您的助手javascript更加复杂

这是一个非常优雅的解决方案,而且我不必对车把做任何扭曲。(div有些必要,因为我正在处理引导,希望保持它的标准化AMAP。)感谢您的帮助。
<div class="row-fluid">
  <span></span>
  <span></span>
  <span></span>
  <div class="row-fluid"></div>
  <span></span>
  <span></span>
  <span></span>
  <div class="row-fluid"></div>
  <span></span>
  ...
</div>
<ol>
  {{#each list}}
    <li>{{value}}</li>
  {/each}
</ol> 
{{#each list}}
  <div>
    {{#each this}}
      <span>{{this}}</span>
    {{/each}}
  </div>
{{/each}}