流星自动关闭html标签

时间:2013-06-15 15:43:34

标签: meteor handlebars.js

有奇怪的问题。 当我尝试在Handlebars模板中使用未关闭的html时 - 它会在渲染时强制关闭它们。

例如,我想在此模板中使用{{#each items}}:

    {{#if a}}
       <li>
    {{/if}}

    {{#if b}}
      </li>
       <li>
    {{/if}}

    {{someItemText}}

期望:

    <!--here 'a' from template is true-->
    <li>
       someItemtext from item #1 
       someItemtext from item #2
       someItemtext from item #3 
    <!--here 'b' from template is true-->
    </li>
    <li>
       someItemtext from item #4
       someItemtext from item #5
       someItemtext from item #6

呈现:

    <!--here 'a' from template is true-->
    <li>
       someItemtext from item #1 
    </li>
       someItemtext from item #2
       someItemtext from item #3
    <!--here 'b' from template is true-->
    <li></li>
       someItemtext from item #4
       someItemtext from item #5
       someItemtext from item #6

如何关闭此强制标记的任何想法?谢谢!

1 个答案:

答案 0 :(得分:1)

你做不到。 Meteor中的渲染基于DOM节点,因此each块无法输出部分节点。您必须提前计算组并提供获取每组项目的方法:

{{#each groups}}
  <li>
  {{#each groupItems}}
    {{someItemtext}}
  {{/each}}
  </li>
{{/each}}