link jade javascript node.js pug

javascript - link - Pasar variables al diseño base desde la extensión de la plantilla pug/jade



pug href interpolation (1)

Me gustaría establecer una clase en la etiqueta del cuerpo declarando una variable en una plantilla que extiende un diseño base.

Cuando lo intento, la variable body_class undefined está undefined en el diseño.

Parece que el diseño se ejecuta antes que la plantilla extendida, o se ejecutan en diferentes ámbitos o algo así.

¿Hay otra manera? ¿Funcionaría una mezcla aquí?

_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


Ah ha Lo averigué.

Cree un bloque en la parte superior del diseño base y agregue sus variables allí.

_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