在 Jade 中传递变量

Passing variables in Jade

我正在尝试将变量从调用 express 应用程序传递到 jade 模板,然后从那里传递到基本模板和一些 includes/mixins。我想设置一个默认值,以防参数没有传递。

我正在寻找对整个调用链(模板、基本模板、包含和混合)中变量作用域的良好描述。谁能指出我正确的方向?

在进行一些测试以更好地理解时,我尝试了非常简单的应用程序,但没有 return 我预期的那样:

调用应用程序:

res.render('bla', {whatever: 'whatever!'});

bla.jade:

- var whatever = (whatever || 'no whatever')

html
  body
    h1=(whatever)

我本来希望看到 'whatever!',但结果是 'no whatever'。删除 'var' 行会产生 'whatever!',因此参数会正确传递。

好的,我已经弄清楚为什么测试不起作用了... 'var' 关键字定义了一个局部变量,它在分配之前屏蔽传递的参数。删除 'var' 关键字就可以了。