我遇到了困难,包括大括号{
}
在Handlebar模板中,这样它就不会干扰Handlebar语法。
具体来说,我想有一个这样的模板:
{{{sometag}}}
除了我希望第一个和最后一个大括号按字面意思呈现,而不是Handlebar的“非转义表达式”语法的一部分。
目前,我能想到的最短的可移植语法是{{#with "{"}}{{.}}{{/with}}
,因此我想要的模板如下所示:
{{#with "{"}}{{.}}{{/with}}{{sometag}}{{#with "}"}}{{.}}{{/with}}
我可以使用超文本标记语言实体(就像https://stackoverflow.com/a/16278085/3088208建议的那样),或者在初始{
之后和最终}
之前插入超文本标记语言注释,但是这些解决方案虽然实用,但依赖于超文本标记语言,这使得它们受到限制。
P. S.发现一个重复的问题:逃离站在车把表情旁边的卷曲括号
对于未来在这里着陆的任何人来说,这个解决方案对我有用渲染车把内的双卷括号部分
太长别读添加一个\
到你的值例如\{{{无论什么}}}
将呈现{{{无论什么}}
我也在寻找这个解决方案,但什么也找不到。所以我创建了助手
Handlebars.registerHelper('bracket', function(num, options = num) {
const i = Number.isInteger(num) ? num : 1;
const open = '{'.repeat(i);
const close = '}'.repeat(i);
return `${open}${options.fn(this)}${close}`;
});