Node.js Handlebars {{object}} 不在 {{each}} 循环内渲染,而是在循环外渲染(其他 {{object_names}} 在循环内渲染)
Node.js Handlebars {{object}} does not render inside {{each}} loop, but renders outside of loop (and other {{object_names}} render within the loop)
我正在使用 Express、Node 和 Handlebars,但我不明白为什么我的 {{object_one}} 不会在 {{each}} 循环中呈现,但它会呈现 {{ object_two}} 来自内部,{{object_one}} 来自外部。
这是一个例子,因为我不确定我是否描述得很好:
{{#each inline_upsell_amounts}}
<div class="col-4"><a href="{{base_url}}?{{#if inline_ab_refcode}}refcode={{inline_ab_refcode}}&{{/if}}">$ {{this}}</a></div>
{{/each}}
<p>This shows the 'base_url' value: {{base_url}}</p>
因此在循环内 base_url 呈现为空或 ''。 base_url 的值是一个字符串 (url 'http://something.com' ).
它在 each 循环之外呈现正确,并且 {{inline_ab_refcode}} 也是一个字符串在循环内呈现良好。
我试过不同的名字,不同的值,制作一个助手,用 IF 包装。我无法弄清楚我遇到的这个奇怪的错误。
希望您能看到一些愚蠢的东西?!
您错过了一些东西:循环中的 {{base_url}} 与循环外的不同:
在循环中 {{base_url}} 实际上是 {{inline_upsell_amounts.0.base_url}} 或 {{inline_upsell_amounts.1.base_url}} 等等.. . 在它之外是 {{base_url}}。因为循环的参数变成了新的引用。
您可以做的是引用父项并在循环内使用 {{../base_url}} 并在循环外使用 {{base_url}} 。如果您需要始终相同的引用,您还可以使用 {{@root/base_url}} ,它始终是根元素的 base_url。
因此您的代码将如下所示:
{{#each inline_upsell_amounts}}
<div class="col-4"><a href="{{../base_url}}?{{#if inline_ab_refcode}}refcode={{inline_ab_refcode}}&{{/if}}">$ {{this}}</a></div>
{{/each}}
<p>This shows the 'base_url' value: {{base_url}}</p>
希望我说得够清楚了。
我正在使用 Express、Node 和 Handlebars,但我不明白为什么我的 {{object_one}} 不会在 {{each}} 循环中呈现,但它会呈现 {{ object_two}} 来自内部,{{object_one}} 来自外部。
这是一个例子,因为我不确定我是否描述得很好:
{{#each inline_upsell_amounts}}
<div class="col-4"><a href="{{base_url}}?{{#if inline_ab_refcode}}refcode={{inline_ab_refcode}}&{{/if}}">$ {{this}}</a></div>
{{/each}}
<p>This shows the 'base_url' value: {{base_url}}</p>
因此在循环内 base_url 呈现为空或 ''。 base_url 的值是一个字符串 (url 'http://something.com' ).
它在 each 循环之外呈现正确,并且 {{inline_ab_refcode}} 也是一个字符串在循环内呈现良好。
我试过不同的名字,不同的值,制作一个助手,用 IF 包装。我无法弄清楚我遇到的这个奇怪的错误。
希望您能看到一些愚蠢的东西?!
您错过了一些东西:循环中的 {{base_url}} 与循环外的不同: 在循环中 {{base_url}} 实际上是 {{inline_upsell_amounts.0.base_url}} 或 {{inline_upsell_amounts.1.base_url}} 等等.. . 在它之外是 {{base_url}}。因为循环的参数变成了新的引用。
您可以做的是引用父项并在循环内使用 {{../base_url}} 并在循环外使用 {{base_url}} 。如果您需要始终相同的引用,您还可以使用 {{@root/base_url}} ,它始终是根元素的 base_url。
因此您的代码将如下所示:
{{#each inline_upsell_amounts}}
<div class="col-4"><a href="{{../base_url}}?{{#if inline_ab_refcode}}refcode={{inline_ab_refcode}}&{{/if}}">$ {{this}}</a></div>
{{/each}}
<p>This shows the 'base_url' value: {{base_url}}</p>
希望我说得够清楚了。