车把具有相同数组的嵌套循环

问题描述

"handlebars": "^4.7.6"

我对同一数组的每个渲染都存在问题。看起来是库中某处的错误

您能解释一下吗?

js

testTemplate({'test': [
                    {'id':1,'row':0},{'id':2,{'id':3,'row':1},]})

车把

{{#each test}}
{{#each ../test}}
    <div class="row">{{this.id}} = {{../this.id}}</div>
{{/each}}
{{/each}}

结果

    <div class="row">1 = </div>
    <div class="row">2 = 1</div>
    <div class="row">3 = 1</div>
    <div class="row">1 = 2</div>
    <div class="row">2 = </div>
    <div class="row">3 = 2</div>
    <div class="row">1 = 3</div>
    <div class="row">2 = 3</div>
    <div class="row">3 = </div>

等号{{../this.id}}消失了。为什么?

解决方法

说实话,不清楚您要达到的目标,我做了example on JS

如果要获得相同的结果,可以使用以下技巧:

{{#each test}}
    {{#each test}}
      {{#each ../test}}
          <div class="row">{{id}} = {{#if ../id}}{{../id}}{{/if}}{{#unless ../id}}{{id}}{{/unless}}</div>
    {{/each}}
 {{/each}}

结果:

1 = 1
2 = 1
3 = 1
1 = 2
2 = 2
3 = 2
1 = 3
2 = 3
3 = 3

这不能回答您的问题,但可以解决问题