Javascript 每个把手都有父把手的上下文

Javascript 每个把手都有父把手的上下文,javascript,handlebars.js,Javascript,Handlebars.js,我在网上搜索了几个小时,不知道为什么这个代码不起作用 我试图循环通过一个数组,其中是另一个我想循环通过的数组。如果我试图在该对象中显示变量,它将不会显示任何内容。但是,如果我尝试记录“this”或要记录的值,它会显示正确的上下文 <div class="invoice-content"> {{#usageData}} <h2>{{title}}</h2> <table class="bill-detail-table js-tab

我在网上搜索了几个小时,不知道为什么这个代码不起作用

我试图循环通过一个数组,其中是另一个我想循环通过的数组。如果我试图在该对象中显示变量,它将不会显示任何内容。但是,如果我尝试记录“this”或要记录的值,它会显示正确的上下文

<div class="invoice-content">
    {{#usageData}}
    <h2>{{title}}</h2>
    <table class="bill-detail-table js-table-{{id}}">
        <thead>
            <tr>
            {{#columns}}
                {{log this}}
                {{log label}}
                <th>{{label}}</th>
            {{/columns}}
            </tr>
        </thead>
    </table>
    {{/usageData}}
</div>

{{{#usageData}}
{{title}}
{{{#列}}
{{记录这个}}
{{log label}}
{{label}}
{{/columns}}
{{/usageData}}
当我记录“this”时,我将显示正确的上下文:
对象{标签:“日期”,值:“foobar”}
当我记录“label”时,它还显示正确的值:“Date”

但是无论出于什么原因,
{{label}}
都保持为空。但我可以通过显示
{{columns.[0].label}}
来显示正确的值。除此之外,我还注意到它不会在整个columns数组中循环。它只穿过该阵列一次

我的输入数据如下所示:


我将非常感谢任何帮助

问题在于模板是内联的,而不是脚本中的标记。我认为浏览器做了一些令人抓狂的事情,导致脚本崩溃。当我将所有内容移回脚本标记时,问题就解决了

问题在于模板是内联的,而不是脚本中的标记。我认为浏览器做了一些令人抓狂的事情,导致脚本崩溃。当我将所有内容移回脚本标记时,问题就解决了

你的代码适合我:谢谢你回复Tomasz!我将模板作为html页面的一部分运行,而不是在脚本标记中运行,以使内容编辑器能够更清楚地编辑文本。但由于某种原因,当它在html中内联时,它会中断,而如果将html放入脚本标记中,则不会中断。可能是因为浏览器删除了一些无效的html(例如{{{colums}})。你的代码对我很有用:谢谢你回复Tomasz!我将模板作为html页面的一部分运行,而不是在脚本标记中运行,以使内容编辑器能够更清楚地编辑文本。但由于某种原因,当它在html中内联时,它会中断,而如果将html放入脚本标记中,则不会中断。可能是因为浏览器删除了一些无效的html(例如{{{#colums}})。