HTML和把手:
onclick='shareItem("{{name}}")'> 当名称中有双引号时,不会成功传递安全转义的名称。
onclick="shareItem('{{name}}')"> 如果名称中包含单引号,则不会成功传递安全转义的名称。
我需要处理这两种可能性--甚至是在同一个字符串中。
必须定义一个JS变量并将其传递给反斜杠加法器,这感觉很草率。
有没有一种更干净的方法来用车把或Moustache来做到这一点?
发布于 2014-03-01 05:12:26
您需要注册一个操作上下文的inline helper。在您的例子中,您需要转义单引号或双引号。
Handlebars.registerHelper('escape', function(variable) {
return variable.replace(/(['"])/g, '\\$1');
});通过注册这样的帮助器,您可以将其与变量一起使用来实现您想要的功能。
{{ escape name }} # expects to escape any ' or "我在jsfiddle上写了一个简单的例子来演示这一点:http://jsfiddle.net/VLy4L/
发布于 2017-11-11 02:06:24
我在尝试转义单引号时遇到问题,我使用handleblars提供的帮助程序,您可以使用三括号{ variable }进行转义
https://stackoverflow.com/questions/22105510
复制相似问题