所以之前已经问过这个问题,但我的输出中一直出现错误。
所以,在玉中逃避文字。
我有这个标记
.left
:markdown
each post in site.posts
a.post(href='#' + post.title)
h2= post.title
a标签将锚定滚动到相应的帖子。现在我想逃离href内部的post.title
,以便删除空格。
现在我看到了像this 和this这样的答案,但是当我尝试编译所有内容时,它们都会抛出错误。
自定义过滤器抛出错误并显示unknown filter
,第二个抛出此错误
Unexpected token ILLEGAL
Potentially unhandled rejection [152] SyntaxError: /Users/mhartington/Github Repos/ionic-node-faq/views/index.jade:14
12| :markdown
13| each post in site.posts
> 14| a.post(href='#' + #{post.title})
15| h2= post.title
16| .right
17| each post in site.posts
关于我做错的任何想法?
答案 0 :(得分:2)
您可以使用.replace()
post.title
中删除空格
a.post(href='#' + post.title.replace(/\s+/g, ''))
您还可以使用encodeURIComponent()
至URL-encode个其他特殊字符包含在网址中:
a.post(href='#' + encodeURIComponent(post.title.replace(/\s+/g, '')))
使用#{...}
时的错误是因为它只是plain text内的Jade语法。并且,values of attributes被解析为JavaScript,它不支持这种语法。
如果您担心HTML编码属性的值,Jade会根据需要处理。
- post = { title: 'Foo>Bar' }
a(href='#' + post.title)
<a href="#Foo>Bar"></a>