2015-12-14 22 views
0

我不確定如何在mustache/handlebars部分參數映射內引用@index(來自#each helper)。例如。在部分參數中使用@index

{{#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的部分參數。

回答

0

正確的做法是使用concat幫助程序。

例如

{{> 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>