在Jade中设置来自子模板的页面标题

我想通过翡翠在布局的子模板中设置我的页面标题。 我不想在路由中设置它们,因为这需要重新启动服务器。 这是我希望能够实现的:

layout.jade:

!!! 5 head - var title = title || "Default Title Here" title #{title} // ... 

child.jade:

 - var title = "Child Title Here" extends layout // ... 

任何想法,我如何能做到这一点将是一个很大的帮助。

谢谢!

https://github.com/visionmedia/jade/issues/654#issuecomment-5859502

layout.jade

 block variables !!! 5 head - var title = title || "Default Title Here" title #{title} 

child.jade:

 block variables title = "ST" extends layout 

因为上面的答案对我不起作用,所以我以一个非常简单的逻辑结束了:

layout.jade

 block head - var theTitle = titleVar ? titleVar : "This title was set from The Layout!" title #{theTitle} 

child.jade:

 extends layout block head - var titleVar = "This title was set from the child!" 

在这个解决scheme中,布局将检查是否存在名为titleVar的variables:如果它存在(并且不等于零),则布局将使用titleVar的值作为标题,否则,预定义的标题(在我们的例子中: “ 这个标题是从布局! ”)从布局文件将发生。 自己尝试一下,并注释//从子模板中定义titleVar,并查看结果。
我希望这个解决scheme可以帮助别人:)