首页 > 解决方案 > 在handlebars.js 上,如何在父级使用#first?

问题描述

使用handlebars.js,我可以在同一级别显示数组的第一个元素,如下所示:

{{#each array01}}
    {{#if @first}}{{objectAttribute01}}{{/if}}
{{/each}}

但是如果我有一个如下所示的嵌套数组,我该如何检查array03, 而不是 的第一个元素array01

{{#each array03}}
    {{#each array02}}
         {{#each array01}}
             {{#if @first}}{{objectAttribute01}}{{/if}}
         {{/each}}   
    {{/each}}   
{{/each}}  

以下没有奏效:

@../../first 

标签: arrayshandlebars.jsjsreport

解决方案


车把支持../路径段。此段引用父模板范围。../只有在上下文发生变化时才需要使用

来到你的代码,

{{#each array03}}
     {{#each array02}}
         {{#each array01}}
             {{#if @first}}{{objectAttribute01}}{{/if}}
        {{/each}}   
    {{/each}}   
{{/each}} 

将其更改为:

{{#each array03}}
     {{#each array02}}
          {{#each array01}}
              {{#if @../../first}}{{objectAttribute01}}{{/if}}
        {{/each}}   
     {{/each}}   
{{/each}}

array03您可以分别访问和array02喜欢@../../first和的第一个元素@../first


推荐阅读