在 Handlebars 中的 "each" 循环内插入变量

Interpolate variable inside "each" loop in Handlebars

我在一个使用 handlebars 作为模板引擎的 express 应用程序中渲染它:

 res.render("movies", { data: pages, arraypages:arrayPages, movie:movie})

"arrayPages" 是一个数组: [ 1, 2, 3, 4, 5, 6, 7 ]

"movie" 是一个类似 "top gun" 的字符串

车把模板内有:

{{#each arraypages}}
<form action="/getmoviepage" method="post">
    <a>{{this}}</a>
    <input type="hidden" name="{{movie}}" value="{{this}}">
</form>
{{/each}}

输出:

<form action="/getmoviepage" method="post">
    <a>1</a>
    <input type="hidden" name="" value="1">
</form>

<form action="/getmoviepage" method="post">
    <a>2</a>
    <input type="hidden" name="" value="2">
</form>

<form action="/getmoviepage" method="post">
    <a>3</a>
    <input type="hidden" name="" value="3">
</form>

<form action="/getmoviepage" method="post">
    <a>4</a>
    <input type="hidden" name="" value="4">
</form>

<form action="/getmoviepage" method="post">
    <a>5</a>
    <input type="hidden" name="" value="5">
</form>

<form action="/getmoviepage" method="post">
    <a>6</a>
    <input type="hidden" name="" value="6">
</form>

<form action="/getmoviepage" method="post">
    <a>7</a>
    <input type="hidden" name="" value="7">
</form>
    


如您所见,“电影”变量未呈现(该变量应在“名称”属性内呈现)。如果我将变量放在“每个”循环之外,则渲染正常。

{{movie}}  //This is rendered OK, outside the "each" loop
{{#each arraypages}}
<form action="/getmoviepage" method="post">
    <a>{{this}}</a>
    <input type="hidden" name="{{movie}}" value="{{this}}">
</form>
{{/each}}

如何在车把的“每个”循环内渲染变量?

尝试

<input type="hidden" name="{{../movie}}" value="{{this}}">

../ 路径段引用了您想要的父模板范围。

Potential Duplicate Question