在Jade模板中,我想屈服以防有什么东西可以屈服。但是,我不知道应该是什么条件。
考虑以下示例:
container.jade
div
if block
yield
else
include default.jade
default.jade
p Nothing to show!
page.jade
h1 Here's a thing.
include container.jade
p I'm a thing!
empty.jade
h1 Here isn't a thing.
include container.jade
在page.jade
上,缩进到include中的段落将被放入container.jade
。在empty.jade
上,由于没有任何内容缩进包含内容,default.jade
的内容将在container.jade
中使用。
但是,使用yield
似乎无法提供block
,因此if
条件始终为false。
此示例严格简化,我确信无法以其他方式执行此操作(例如,使用extends
是不可能的。)
我怎样才能做到这一点?
答案 0 :(得分:0)
你在container.jade上试过吗?
div
if block
block
else
include default.jade
答案 1 :(得分:0)
尝试将其包装在mixin中:
<强> container.jade 强>
mixin conditionalBlock()
if block
yield
else
include default.jade
<强> page.jade 强>
include container.jade
//- Some content
h1 Here's a thing.
+conditionalBlock()
p I'm a thing!
<强> empty.jade 强>
include container.jade
//- Some content
h1 Here isn't a thing.
+conditionalBlock()