玉模板,包括variables范围
我正在使用翡翠(没有快递,只是为了静态HTML模板) – 我理解为能够创buildpartials,意思范围不是一个问题,但这似乎并非如此,我可以find没有参考这个用法-案件。
master.jade
!!! 5 html block vars - var slug= 'home' head block pagetitle title Static HTML link(rel='stylesheet', href='css/styles.css') body(class= slug) .wrapper include includes/header
包括/ header.jade
.header ul li(class= slug)
我已经尝试了包括#{slug}
语法变体,并且总是在includes/header.jade
文件中得到错误“slug is not defined” – 是否可以这样做?
编辑:所以在下面的评论中,由戴夫·韦尔登给出的答案是,当包含在master.jade中的variables是可用的,但我的编译命令编译所有的玉文件包括自己的包括,在这一点上的variables当然不是定义。
你可以用一个mixin来完成这个工作:
master.jade
include includes/header !!! html block vars - var slug= 'home' head block pagetitle title Static HTML link(rel='stylesheet', href='css/styles.css') body(class= slug) .wrapper mixin header(slug)
包括/ header.jade
mixin header(klass) .header ul li(class= klass)
编译时:
<!DOCTYPE html> <html> <head> <title>Static HTML</title> <link rel="stylesheet" href="css/styles.css"> </head> <body class="home"> <div class="wrapper"> <div class="header"> <ul> <li class="home"></li> </ul> </div> </div> </body> </html>