3
我使用塊幫助器#each
創建了一個列表,但我無法在每個循環內部將變量傳遞給我的部分。handlebars:將變量傳遞給每個內部的部分
{{#each a-z.letters}}
{{this}} /*[1]*/
<li class="list-inline__item">
{{>button btn="btn-text" addClass='-large' link='letter/{{this}}' label='{{this}}'/*[2]*/}}
</li>
{{/each}}
鏈接部分:
<a href="{{link}}" class="btn-text {{addClass}}">{{label}}</a>
的輸出是:
<ul class="list-inline">
A /*[1]*/
<li class="list-inline__item">
<a href="letter/{{this}}/*[2]*/" class="btn-text -large">{{this}}/*[2]*/</a>
</li>
....
[1]剛用於測試和它的工作原理
[2]如果我想通過它在一個部分裏面它不會渲染我的參數
UPDATE
所以這是我的幫手現在擴展我的href與網址。
Handlebars.registerHelper('updateLink', function(options){
var insertAt = "href=";
var content = options.fn(this).trim();
var pos = content.indexOf(insertAt) + insertAt.length+1; // +1 for the quotation marks
content = content.slice(0, pos) + options.hash.url + content.slice(pos, content.length);
return new Handlebars.SafeString(content);
});
鏈接部分:
{{#updateLink url="letters/"}}
{{>button link=this label=this btn="btn-text" addClass='-large'}}
{{/updateLink}}