1

遇到奇怪的问题。当我尝试在 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

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

4

1 回答 1

1

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

{{#each groups}}
  <li>
  {{#each groupItems}}
    {{someItemtext}}
  {{/each}}
  </li>
{{/each}}
于 2013-06-15T18:02:16.690 回答