Dan*_*Dan 13 node.js express pug
我想通过jade在布局的子模板中设置我的页面标题.我不想在路由中设置它们,因为这需要重新启动服务器.这是我希望完成的事情:
layout.jade:
!!! 5
head
- var title = title || "Default Title Here"
title #{title}
// ...
Run Code Online (Sandbox Code Playgroud)
child.jade:
- var title = "Child Title Here"
extends layout
// ...
Run Code Online (Sandbox Code Playgroud)
关于如何实现这一点的任何想法都将是一个很大的帮助.
谢谢!
sch*_*nya 16
来自https://github.com/visionmedia/jade/issues/654#issuecomment-5859502
layout.jade
block variables
!!! 5
head
- var title = title || "Default Title Here"
title #{title}
Run Code Online (Sandbox Code Playgroud)
child.jade:
block variables
title = "ST"
extends layout
Run Code Online (Sandbox Code Playgroud)
我最后得到了一个非常简单的逻辑,因为上面的答案对我不起作用:
在layout.jade中
block head
- var theTitle = titleVar ? titleVar : "This title was set from The Layout!"
title #{theTitle}
Run Code Online (Sandbox Code Playgroud)
在child.jade中:
extends layout
block head
- var titleVar = "This title was set from the child!"
Run Code Online (Sandbox Code Playgroud)
在此解决方案中,布局将检查是否存在名为titleVar的变量:如果它确实存在(并且它不等于零),则布局使用titleVar的值设置为标题,否则,预定义标题(在我们的示例中: " 将从布局文件中设置此标题! ")将发生布局文件.亲自尝试并//从子模板中评论titleVar的定义并查看结果.
我希望这个解决方案可以帮助别人:)
| 归档时间: |
|
| 查看次数: |
6790 次 |
| 最近记录: |