首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Handlebars -传递Handlebar表达式时,转义单引号和双引号

问Handlebars -传递Handlebar表达式时,转义单引号和双引号
EN

Stack Overflow用户
提问于 2014-03-01 04:50:32
回答 2查看 15.3K关注 0票数 21

HTML和把手:

代码语言:javascript
复制
onclick='shareItem("{{name}}")'> 

当名称中有双引号时,不会成功传递安全转义的名称。

代码语言:javascript
复制
onclick="shareItem('{{name}}')"> 

如果名称中包含单引号,则不会成功传递安全转义的名称。

我需要处理这两种可能性--甚至是在同一个字符串中。

必须定义一个JS变量并将其传递给反斜杠加法器,这感觉很草率。

有没有一种更干净的方法来用车把或Moustache来做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-01 05:12:26

您需要注册一个操作上下文的inline helper。在您的例子中,您需要转义单引号或双引号。

代码语言:javascript
复制
Handlebars.registerHelper('escape', function(variable) {
  return variable.replace(/(['"])/g, '\\$1');
});

通过注册这样的帮助器,您可以将其与变量一起使用来实现您想要的功能。

代码语言:javascript
复制
{{ escape name }} # expects to escape any ' or "

我在jsfiddle上写了一个简单的例子来演示这一点:http://jsfiddle.net/VLy4L/

票数 22
EN

Stack Overflow用户

发布于 2017-11-11 02:06:24

我在尝试转义单引号时遇到问题,我使用handleblars提供的帮助程序,您可以使用三括号{ variable }进行转义

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22105510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档