如果我使用 jade中的点符号来使用实际的 html 标签,我想知道如何在 jade 模板中"包含模板名称"。
doctype html
html
head
link(rel='stylesheet', href='/stylesheets/header.css')
body.
<div class="logo-container">
include someTemplate
</div>
执行上述示例将显示文本"include someTemplate",而不是模板本身。
关于我如何实现这一目标的任何想法?
包含在纯文本块中不起作用,因为它是 Jade 语句而不是 JavaScript 表达式,因此您可以更轻松地逐行移动纯文本块,以便您可以同时使用两者:
body
| <div class="logo-container">
include someTemplate
| </div>
使这更加复杂的是 包装<div class="logo-container">
. 如果您有大块原始 HTML 要输出并且不需要大量管道字符,这也可能有效:
body
div.
(raw html goes here)
.logo-container
include someTemplate
div.
(more raw html goes here)
如果您的模板不需要 jade/pug 渲染(即,如果它只是常量/静态文本(,那么您可以使用插值来输出变量:
body.
<div class="logo-container">
!{someTemplate}
</div>
仅当您读取路由器中的模板文件并将其作为变量传递给模板时,这才有效。有更复杂的方法可以动态渲染它,但到那时你最好使用上面的方法之一。