如何在jade模板中转义花括号?

10

如何在Jade模板中转义花括号?(我在Node.js中使用Jade)

我想要将jQuery模板呈现给客户端。我想要转义的部分如下:

div(class='clear')
script(id='BoardListTemplate', type='text/x-jQuery-tmpl')
  <p>${Title}</p>
  <ul id="${Id}" class="IterationBoardList">
    <li class="AddNewItem">Add new Item</li>
    {{tmpl(Items) "#BoardListItemTemplate"}}
  </ul>
script(id='BoardListItemTemplate', type='text/x-jQuery-tmpl')
  <li class="Item" id="${{$data.Id}}">
    ${$data.Description}<br />
    Assigned to: ${$data.AssignedTo}<br/>
  StoryPoints: ${$data.StoryPoints}</li>
script(src='/javascripts/Scrummr.Engine.js', id='BoardListItemTemplate', type='text/javascript')

非常感谢


1
你尝试过使用HTML实体&#123;&#125;吗? - arvidkahl
3个回答

11

我想指出的是,尽管这个回答有帮助且正确,但实际上并没有回答问题中“如何转义花括号”的部分。 - metamatt

3
这里有两件不同的事情在进行中。
Jade使用空格来暗示文档结构;缩进和换行符很重要,Jade希望每一行都以它将创建HTML标记的内容开头。
如果你想输入一些不想转换的东西——例如原始HTML、脚本或者你想在客户端渲染的原始模板——你可以选择:
1)在每行前面加一个竖线字符(|),后面跟着原始文本。举例来自Jade文档
p
  | foo bar baz
  | rawr rawr
  | super cool
  | go jade go

2) 通过以一个句点结束上一个容器标签来开始一个原始文本块。例如,来自Jade文档的示例:

p.
  foo asdf
  asdf
   asdfasdfaf
   asdf
  asd.

此外,Jade 还执行字符串内插,对某些字符进行特殊处理,您可能需要在不希望其内插的上下文中进行转义。这就是本问题所问的部分(如何转义花括号)。Jade 实际上并不特别对待 { 字符,但却特别对待 #{ 字符。如果需要使用 #{,可以用 \#{ 进行转义。


#{{search.players}} 就是我要找的... 谢谢 @metamatt - John Spiteri

0
Jade在行末提供了一个点(.)运算符,允许您转义子缩进块内的所有内容。
script(id='BoardListTemplate', type='text/x-jQuery-tmpl').
  // Everything inside here is completely escaped.
  <p>${Title}</p>
  <ul id="${Id}" class="IterationBoardList">
    <li class="AddNewItem">Add new Item</li>
    {{tmpl(Items) "#BoardListItemTemplate"}}
  </ul>

- // outside here it's all JADE.
h1 How about a JADE heading

script(id='BoardListItemTemplate', type='text/x-jQuery-tmpl').
  // back to escaped script in here.
  <li class="Item" id="${{$data.Id}}">
    ${$data.Description}<br />
    Assigned to: ${$data.AssignedTo}<br/>
  StoryPoints: ${$data.StoryPoints}</li>

script(src='/javascripts/Scrummr.Engine.js', id='BoardListItemTemplate', type='text/javascript').

句点(.)在末尾是重要的部分。


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