这是我的jade小雕像:
section#entry-review-template.template(data-class='entry-review')
table
thead
tr
th='Date'
th='Title'
th
tbody
当我开始添加mustache时,我觉得它开始失去平常的优雅,因为现在她对她脸上的任何毛孔都非常挑剔。
{{^entries}}
h1='No Posts'
div='There are no blog posts to review.'
{{/entries}}
但是,当我尝试将最后一块小胡子添加到她的身体这一次时,她开始抱怨,她要么打破了,又不想帮忙,或者只是弄得一团糟
{{#entries}}
tr
td='{{date}}'
td='{{title}}'
td
a.remove-entry
{{/entries}}
导致类似这样的事情:
{{^entries}}
<h1>No Posts</h1><div>There are no blog posts to review.</div>{{/entries}}
{{#entries}}
<table><thead><tr><th>Date</th><th>Title</th><th></th></tr></thead><tbody></tbody></table>{{date}}{{title}}<a class="remove-entry"></a>{{/entries}}
我似乎无法让玉正确输出我的小胡子纯文本。
这是一个node.js应用程序,它使用jade在我的服务器端模板化我的视图,我没有将任何模型传递给我的任何视图(我留给客户端那种繁重的工作),但是我仍然需要到处做一堆inclue partial
。而且我有很多玉。我有点喜欢玉。我不想放开她。
现在我想在客户端实现非常简单的胡子模板,我希望这些模板在我的视图中内联。
当然,我可以解决它,并将它们放在脚本标签中或用另一个视图引擎渲染它们(现在我想到它,它甚至感觉不是一件容易或简单的事情),但随后我不得不为那些人编写原始的html,我有点想要混合两全其美。
{{#must}} {{/ache}}
?我真的想让玉佩胡子。我知道它很奇怪,但它会让我感动。
我刚尝试使用 | ,documented here,但即便是最简单的:
section#entry-review-template.template(data-class='entry-review')
table
thead
tr
th='Date'
th='Title'
th
tbody
| {{#entries}}
| {{/entries}}
结束输出:
{{#entries}}
{{/entries}}
<table><thead><tr><th>Date</th><th>Title</th><th></th></tr></thead><tbody></tbody></table><h1></h1>
答案 0 :(得分:10)
让我们定义一些Jade mixins。
mixin if(name)
!= '{{#' + name + '}}'
block
!= '{{/' + name + '}}'
mixin unless(name)
!= '{{^' + name + '}}'
block
!= '{{/' + name + '}}'
mixin each(name)
!= '{{#' + name + '}}'
block
!= '{{/' + name + '}}'
在Jade模板中流畅地使用它们:
section#entry-review-template.template(data-class='entry-review')
+unless('entries')
h1='No Posts'
div='There are no blog posts to review.'
table
thead
tr
th='Date'
th='Title'
th
tbody
+each('entries')
tr
td='{{date}}'
td='{{title}}'
td
a.remove-entry
生成一个漂亮的小胡子HTML。
<section id="entry-review-template" data-class="entry-review" class="template">{{^entries}}
<h1>No Posts</h1>
<div>There are no blog posts to review.</div>{{/entries}}
<table>
<thead>
<tr>
<th>Date</th>
<th>Title</th>
<th></th>
</tr>
</thead>
<tbody>{{#entries}}
<tr>
<td>{{date}}</td>
<td>{{title}}</td>
<td><a class="remove-entry"></a></td>
</tr>{{/entries}}
</tbody>
</table>
</section>
答案 1 :(得分:3)
解决方案:jade的 HTML评论
// {{#entries}}
tr.entry-row(data-id='{{_id}}')
td='{{date}}'
td='{{title}}'
td
a.edit(title='Edit')='Edit'
a.remove(title='Delete')
// {{/entries}}
就像一个魅力。 之后可以删除评论,但这至少可以解决问题。
答案 2 :(得分:2)