如何在Mustache模板中忽略Handlebars表达式使其原样输出?
在Mustache模板中原样渲染Handlebars风格表达式的解决方案
嘿,我完全懂你翻遍文档却找不到答案的那种头疼!其实Mustache本身就有专门的语法来实现你要的效果——原样输出{{value}}这种表达式,你之前试的反斜杠转义方式并不适用于Mustache,换个方法就搞定了。
核心解决方案
要在Mustache模板里直接输出{{value}},你只需要用四层大括号包裹目标内容:{{{{value}}}}。
原理说明
Mustache的语法规则里,{{{{ }}}}会被解析为输出外层的{{ }},中间的内容会原封不动保留,不会被当作模板变量去渲染。
针对你的例子修改
模板文件(example.mustache)
把原来的代码:
<p>This would {{value}} not be changed</p>
改成:
<p>This would {{{{value}}}} not be changed</p>
JavaScript代码示例
修改你测试的代码片段:
// 正确的写法 console.log(Mustache.render('Example of {{{{value}}}} what I want ignored', {})); // 输出结果: Example of {{value}} what I want ignored
引入Mustache的脚本(保持不变)
<script src="https://cdnjs.cloudflare.com/ajax/libs/mustache.js/3.0.3/mustache.js"></script>
这样运行之后,模板里的{{value}}就会直接显示在输出结果里,不会被Mustache解析成变量啦。
内容的提问来源于stack exchange,提问作者user1031569
相关产品推荐
相关产品推荐

