玉的条件收益率

时间:2016-01-28 21:15:57

标签: pug

在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是不可能的。)

我怎样才能做到这一点?

2 个答案:

答案 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()