在部分参数中使用@index
Use @index in a partial parameter
我不确定如何在 mustache/handlebars 部分参数映射中引用 @index(来自 #each 助手)。例如
{{#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 部分参数。
正确的方法是使用 concat 助手。
例如
{{> mypartial id=(concat 'thing' @index) }}
这是我的 handlebars.java 连接助手的代码片段:
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>
我不确定如何在 mustache/handlebars 部分参数映射中引用 @index(来自 #each 助手)。例如
{{#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 部分参数。
正确的方法是使用 concat 助手。
例如
{{> mypartial id=(concat 'thing' @index) }}
这是我的 handlebars.java 连接助手的代码片段:
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>