Передать переменные в базовый макет из расширения шаблона мопса/нефрита
Я хотел бы установить класс в теге body, объявив переменную в шаблоне, которая расширяет базовый макет.
Когда я пытаюсь, переменная body_class
имеет undefined
в макете.
Кажется, что макет выполняется перед расширением шаблона или выполняется в разных областях или что-то в этом роде.
Есть ли другой способ? Будет ли миксин работать здесь?
_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
Ответы
Ответ 1
Ага! Выяснилось.
Создайте блок в верхней части базового макета и добавьте туда переменные.
_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