我试图在一个句柄模板中的数组中指定一个项目的索引:
{
people: [
{"name":"Yehuda Katz"},
{"name":"Luke"},
{"name":"Naomi"}
]
}
用这个:
<ul id="luke_should_be_here">
{{people[1].name}}
</ul>
如果上面是不可能的,我将如何编写一个助手,可以访问数组中的特定项目?
我试图在一个句柄模板中的数组中指定一个项目的索引:
{
people: [
{"name":"Yehuda Katz"},
{"name":"Luke"},
{"name":"Naomi"}
]
}
用这个:
<ul id="luke_should_be_here">
{{people[1].name}}
</ul>
如果上面是不可能的,我将如何编写一个助手,可以访问数组中的特定项目?
当前回答
如果你想第一个/最后一个取,请试试这个。
{{#each list}}
{{#if @first}}
<div class="active">
{{else}}
<div>
{{/if}}
{{/each}}
{{#each list}}
{{#if @last}}
<div class="last-element">
{{else}}
<div>
{{/if}}
{{/each}}
其他回答
在我的例子中,我想访问一个自定义helper中的数组,
{{#ifCond arr.[@index] "foo" }}
这并没有起作用,但是@julesbou建议的答案起作用了。
工作代码:
{{#ifCond (lookup arr @index) "" }}
希望这能有所帮助!欢呼。
如果你想第一个/最后一个取,请试试这个。
{{#each list}}
{{#if @first}}
<div class="active">
{{else}}
<div>
{{/if}}
{{/each}}
{{#each list}}
{{#if @last}}
<div class="last-element">
{{else}}
<div>
{{/if}}
{{/each}}
当你在每个数组中循环时,如果你想在当前项的上下文中访问另一个数组,你可以这样做。
下面是示例数据。
[ { name: 'foo', attr: [ 'boo', 'zoo' ] }, { name: 'bar', attr: [ 'far', 'zar' ] } ]
下面是获取attr数组中第一项的把手。
{{#each player}} <p> {{this.name}} </p> {{#with this.attr}} <p> {{this.[0]}} </p> {{/with}} {{/each}}
这将输出
<p> foo </p> <p> boo </p> <p> bar </p> <p> far </p>
如果数组没有被命名(只有数组被传递给模板),也可以使用下面的语法:
<ul id="luke_should_be_here">
{{this.1.name}}
</ul>
试试这个:
<ul id="luke_should_be_here">
{{people.1.name}}
</ul>