在部分参数

时间:2015-12-14 20:07:43

标签: mustache handlebars.js

我不确定如何在胡须/把手部分参数图中引用@index(来自#each助手)。 E.g。

{{#each this.things}}
    <p>Thing {{@index}}</p>
    {{> mypartial id='thing{@index}' }}
{{/each}}

收率:

    <p>Thing 0</p> <!-- correct -->
    <div id="thing{@index}">/div> <!-- incorrect -->

一个选项是将我的部分更改为引用@index,但我想继续使用id部分参数。

1 个答案:

答案 0 :(得分:0)

正确的方法是使用concat帮助程序。

e.g。

{{> mypartial id=(concat 'thing' @index) }}

以下是我的handlebars.java concat帮助程序的代码段:

public class ConcatHelper implements Helper<Object> {
    @Override
    public CharSequence apply(Object context, Options options) {
        StringBuilder sb = new StringBuilder();
        for (Object param : options.params) {
            sb.append(param);
        }
        return sb.toString();
    }
}

收率:

<p>Thing 0</p>
<div id="thing0">/div>