在我的Handlebar tmp.hbs
模板中,我使用自定义注册的a
帮助器
<p>{{a "this is a message by the author"}}</p>
返回
<p>THIS is A message BY the AUTHOR</p>
现在我需要让消息动态化。基本上,我需要在最后添加{{name}}
变量的值,以便输出(带name: 'pippo'
)
<p>THIS is A message BY pippo</p>
是否有办法将字符串与变量连接起来作为帮助者的单个参数?
答案 0 :(得分:0)
一种方法是使用连接帮助器。当你将参数传递给帮助者a
时,你可以通过将它们包含在b
中来调用另一个助手()
,如:
{{a (b arg1 arg2)}}
var source = $("#template").html();
var template = Handlebars.compile(source);
var data = {
"authors": [
{ "name": "Pippo", "message": "lorem ipsum dolor sit amet" },
{ "name": "Adam", "message": "amet sit dolor ipsum lorem" }
]
};
Handlebars.registerHelper('a', function(message, options) {
return message;
});
Handlebars.registerHelper('concat', function () {
var result = "";
for(var i in arguments) {
result += (typeof arguments[i] === "string" ? arguments[i] : "") + " ";
}
return result;
});
$('body').append(template(data));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.11/handlebars.min.js"></script>
<script id="template" type="text/x-handlebars-template">
{{#each authors}}
<p>{{a (concat this.message this.name)}}</p>
{{/each}}
</script>
答案 1 :(得分:0)
尝试这种方式。 "yourstring{{variable}}"
"/book/borrow/{{_id}}"
答案 2 :(得分:-1)
<iframe src="http://{{model.value}}"></iframe>
如果'http://'是字符串,而'{{model.value}}'是变量