【问题标题】:How can I add html with helpers and expressions as an attribute to my partial?如何将带有帮助器和表达式的 html 作为属性添加到我的部分?
【发布时间】:2018-02-11 00:36:45
【问题描述】:
我有一个部分,我需要根据上下文换出一个链接,我还需要在该链接中的表达式上使用帮助器。我尝试将此添加到我的部分并将其包含在部分模板中,但它是将行添加为字符串,而不是 html。
{{> partial link='<a href="/matchup/{{formatForWeb this.name }}/{{formatForWeb
matchup.name }}" class="matchup-card__link">code</a>'}}
然后我将它作为 {{link}} 添加到我的部分模板中:
<div>
{{link}}
</div>
这是在开发工具中作为字符串添加到我的页面:
我怎样才能做到这一点?感谢您的宝贵时间!
【问题讨论】:
标签:
templates
handlebars.js
【解决方案1】:
您将无法在partial 中使用helper。
解决方案是将不同变量中的数据和 HTML 元素传递给部分,并在部分定义中进行操作。
例子
{{> newPartial
link = '<a href="/matchup/temp1/temp2" class="matchup-card__link">code</a>'
var1 = this.name
var2 = matchup.name
}}
请注意,根据语法,数据(var1 和 var2)不应包含在大括号{{}} 或引号"" 内。
现在部分可以注册如下
Handlebars.registerPartial('newPartial', function(val) {
console.log(val);
return val;
});
在这里,在变量 val 中,您将收到所有 3 个变量 link、var1 和 var2 作为数组对象,您可以使用它们来处理操作和 return 最终结果。
希望这会有所帮助。