我有两个帮助者,一个叫做tablerows,另一个叫做svg-icon。我想将svg-icon的结果传递给tablerows。 svg-icon返回HTML的Handlebars.SafeString。我怎样才能做到这一点?我看到了一个叫做子表达式的东西,但我似乎无法让它起作用。
{{#tablerows section="Highlights" }}{{/tablerows}}
{{#svg-icon symbol=symbol.value size="small" class="svg-icon--table" }}{{/svg-icon}}
这是我想要实现的目标,但没有成功:
{{#tablerows section="Highlights" {{#svg-icon symbol=symbol.value size="small" class="svg-icon--table" }}{{/svg-icon}} }}
{{/tablerows}}
答案 0 :(得分:0)
您正在使用#
符号调用助手,就好像它们是Block Helpers一样,但是由于开始和结束标记之间没有任何内容,因此不需要它们成为块助手。
如果我们使用这些帮助程序作为regular非阻塞帮助程序,那么我们将能够使用subexpressions来传递svg-icon
帮助程序的结果到tablerows
帮助者:
{{tablerows (svg-icon symbol=symbol.value size="small" class="svg-icon--table") section="Highlights"}}
注意:这假定tablerows
助手已被定义为接受由svg-icon
返回的HTML字符串作为其第一个参数:
Handlebars.registerHelper('tablerows', function (iconHtml, options) {
/* Helper body goes here. */
});