HTML-转义由
{{expression}}返回的值。如果不想让车把转义值,请使用“三重存储”({{{)。
它对HTML-转义值意味着什么?
发布于 2018-01-31 05:50:49
以下字符保留在HTML中,必须用相应的HTML实体替换:~(联机HTML格式化程序)
"替换为"&替换为&<替换为<>替换为>例子说了一千多个字:
var source = $("#template").html();
var template = Handlebars.compile(source);
var data = {
escaped : '{{}}',
notescaped: '{{{}}}',
html : "<a href='https://google.com/'>Google <strong>Search</strong></a>",
}
$('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">
<h4>Escaped HTML double curly brackets: <code>{{escaped}}</code></h4>
{{html}}
<p>It's just non interactive string</p>
<hr>
<h4>Not escaped HTML tripple curly brackets: <code>{{notescaped}}</code></h4>
{{{html}}}
<p>It basically ends up as parsed HTML</p>
</script>
然后,handlebarsjs.com在这个问题上也是一个很好的读物。
发布于 2018-01-30 23:06:28
如果表达式中有一个类似于<br>的字符串,那么使用两个方括号({{ expression }})就会将该<br>转换为HTML元素。
但是,如果使用三个方括号({{{ expression }}}),则<br>将打印它的显示方式,而不会转换为HTML。
发布于 2018-01-30 23:12:49
从他们的文件:
如果您查看h1标记,则<p>标记将被转义,因此它将显示为<p>;
如果您查看body标记,由于{{{}}},将显示字符串。第一个<p>标记和最后一个</p>结束标记不会转义。
<div class="entry">
<h1>{{title}}</h1>
<div class="body">
{{{body}}}
</div>
</div>标题和正文的价值如下
{
title: "All about <p> Tags",
body: "<p>This is a post about <p> tags</p>"
}其结果是:
<div class="entry">
<h1>All About <p> Tags</h1>
<div class="body">
<p>This is a post about <p> tags</p>
</div>
</div>https://stackoverflow.com/questions/48531908
复制相似问题