【问题标题】:Meteor auto-close html tagsMeteor 自动关闭 html 标签
【发布时间】:2013-06-16 02:02:16
【问题描述】:

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

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

【问题讨论】:

  • 我有 some_list.html (主页面),它有帮助程序从集合中捕获所有项目以在 some_item.html 模板中迭代它们。我想分组,使用条件和打开/关闭元素进行分组。这个模板让 Template.helpers 检查索引是否为 0 并且每隔 n 次。他们工作正常。如果我在没有 Handlebars.helpers 的情况下使用它们,我会得到真或假。

标签: meteor handlebars.js


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2018-05-17
    • 1970-01-01
    • 1970-01-01
    • 2018-03-05
    • 2015-07-14
    • 2016-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多