Handlebars.js使用noEscape选项禁用转义?

ant*_*lma 11 javascript templates handlebars.js

我的所有内容都是预先转发的,所以我不想在任何地方使用三重藏匿,而是要全局禁用转义的把手.快速搜索显示了一个类似的功能,我可以在我的车把构建中看到,但我不知道如何打开它.

拉请求在这里:https: //github.com/wycats/handlebars.js/pull/121

我已经尝试在我的代码中添加Handlebars.Compiler.options.noEscape = true但它总是返回未定义的选项.即使在定义了选项之后,它也没有捡起它.有谁知道我应该如何在我的脚本文件中启用此选项?谢谢

Juh*_*nen 32

尝试这样的事情:

var template = Handlebars.compile(source, {noEscape: true});
Run Code Online (Sandbox Code Playgroud)

  • 我使用{{{var}}}修复了它 (3认同)

Rva*_*aak 6

{{{当您只希望模板中的一个变量不被转义时,使用“triple-stash”是另一种选择:

Handlebars HTML 转义 {{expression}} 返回的值。如果您不希望 Handlebars 转义值,请使用“triple-stash”,{{{.

https://handlebarsjs.com/


小智 5

假设,

var template = "This is {{target}}";
var target = "user's pictures";
var result = Handlerbars.compile(template, {noEscape:true})({target:target});
Run Code Online (Sandbox Code Playgroud)

现在尝试打印结果。目标字符串值中有撇号。不会被编码的字符串改变。如果{noEscape:true}要从编译功能中删除,则它将更改。