如果我在翡翠中使用点符号来使用实际的html标签,我想知道如何在翡翠模板中“包括templateName”。
doctype html
html
head
link(rel='stylesheet', href='/stylesheets/header.css')
body.
<div class="logo-container">
include someTemplate
</div>
执行上述示例将显示文本'include someTemplate',而不是模板本身。
关于如何实现此目标的任何想法?
答案 0 :(得分:2)
包含项在纯文本块中不起作用,因为它是Jade语句而不是JavaScript表达式,因此您可以更轻松地逐行移动纯文本块,以便可以同时使用两者:
text = (Text)lookup( ".text" );
scrollPane = (ScrollPane)lookup( ".scroll-pane" );
scrollPane.setHbarPolicy( ScrollPane.ScrollBarPolicy.NEVER );
scrollPane.setVbarPolicy( ScrollPane.ScrollBarPolicy.NEVER );
Group textGroup = (Group)text.getParent();
textGroup.layoutBoundsProperty().addListener( observable -> {
double height = top + textGroup.getLayoutBounds().getHeight() + bottom;
setMaxHeight( height );
setMinHeight( height );
setPrefHeight( height );
} );
更复杂的是包装body
| <div class="logo-container">
include someTemplate
| </div>
。如果您要输出大量的原始HTML并且不希望使用很多竖线字符,这也可能会起作用:
<div class="logo-container">
如果您的模板不需要进行翡翠/ pug渲染(即,仅是常量/静态文本),则可以使用interpolation输出变量:
body
div.
(raw html goes here)
.logo-container
include someTemplate
div.
(more raw html goes here)
这仅在您read the template file在路由器中并将其作为变量传递到模板时才有效。有许多复杂的方法可以动态呈现此效果,但是到那时,最好使用上述方法之一。