如何在Jade中取消转义'&'

8

使用Jade引擎时,渲染"&"时遇到了一些困难。我需要使用以下字符串调用Google Maps:

script(type='text/javascript', src='http://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=SET_TO_TRUE_OR_FALSE')

但是在Jade中将呈现为:

src="http://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=SET_TO_TRUE_OR_FALSE
3个回答

11

根据https://github.com/visionmedia/jade/issues/198,现在可以这样书写:

script(type='text/javascript', src!='http://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=SET_TO_TRUE_OR_FALSE')

请注意src参数中的!=,因此它的内容不会被转义。


0

如果有人仍然需要解决这个问题,他们可以在这里阅读。

所以,我对此的解决方法就是使用普通的脚本标签。以下是jade文件的内容。

!!!
html
head
    link(rel='stylesheet', href='/stylesheets/test.css')
    <script src="http://maps.googleapis.com/maps/api/js?key=API_KEY&sensor=false"></script>

    script(src='/javascripts/test.js')

body
    button(onclick='initialize()') Click Me!
    div#map_canvas

-3

&amp; 是在 HTML 中表示“和号”的方法。 & 表示“字符引用的开始”。

您当前的输出是正确的,并且可以正常工作(除非有其他问题)。 您正在尝试生成依赖于浏览器执行错误恢复的无效代码。


1
谢谢您的回复。我刚对原问题进行了一些更改。我需要使用"&"来调用Google地图,而不是"&Amp;"。当前的输出无法被Google识别。 - ngzhongcai
@ngzhongcai — 你正在使用 & 调用 Google 地图。而 &amp; 是告诉浏览器在某个位置放置一个 & 字符。 - Quentin
最终我没有使用jade语法...<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=SET_TO_TRUE_OR_FALSE"></script> - ngzhongcai
我也遇到了同样的问题。但不幸的是,我不能用标签替换,我需要使用计算的属性值。目前还没有解决方案。 - Rajesh
Angular在其模板语法中大量使用& - Phillip Hartin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接