将变量从扩展 pug/jade 模板传递到基本布局
Pass variables to base layout from extending pug/jade template
我想通过在扩展基本布局的模板中声明一个变量来在 body 标签上设置一个 class。
当我尝试时,body_class
变量在布局中是 undefined
。
看来布局是在扩展模板之前执行的,或者它们是在不同的范围内执行的。
还有别的办法吗? mixin 可以在这里工作吗?
_layout.jade:
doctype html
html(lang="en-au")
head
meta(charset="utf-8")
block css
body(class=(body_class || "it-did-not-work"))
block header
block content
block footer
home.jade:
var body_class = 'i-am-the-home-page'
extends _layout
block header
h1 home
啊哈!想通了。
在基本布局的顶部创建一个块并在其中添加变量。
_layout.jade:
block variables
doctype html
html(lang="en-au")
head
meta(charset="utf-8")
block css
body(class=(body_class || "it-did-not-work"))
block header
block content
block footer
home.jade:
extends _layout
block variables
- var body_class = 'i-am-the-home-page'
block header
h1 home
我想通过在扩展基本布局的模板中声明一个变量来在 body 标签上设置一个 class。
当我尝试时,body_class
变量在布局中是 undefined
。
看来布局是在扩展模板之前执行的,或者它们是在不同的范围内执行的。
还有别的办法吗? mixin 可以在这里工作吗?
_layout.jade:
doctype html
html(lang="en-au")
head
meta(charset="utf-8")
block css
body(class=(body_class || "it-did-not-work"))
block header
block content
block footer
home.jade:
var body_class = 'i-am-the-home-page'
extends _layout
block header
h1 home
啊哈!想通了。
在基本布局的顶部创建一个块并在其中添加变量。
_layout.jade:
block variables
doctype html
html(lang="en-au")
head
meta(charset="utf-8")
block css
body(class=(body_class || "it-did-not-work"))
block header
block content
block footer
home.jade:
extends _layout
block variables
- var body_class = 'i-am-the-home-page'
block header
h1 home