在jade中使用布局中的变量

时间:2013-06-22 19:31:59

标签: javascript node.js pug

我有一个玉石布局文件。 代码如下

html.no-js(lang='en')
  //<![end if]
  head
    script(type='text/javascript')
        var x = "datablabla";

我有一个扩展此布局的玉文件。 我怎样才能访问那个x变量??

extends ../layout

head
    script(type='text/javascript')
        alert(1);
block headerContent

block bodyContent
    h1 Wellcome to the blabla
    p #{x} // undefined

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

简短的回答:你做不到。您在客户端脚本块中声明x,并且Jade不会执行这些操作以使模板中的此类块中声明的任何代码/变量可用。

更长的答案:你可以在你的Jade模板中添加嵌入式JS代码,如下所示:

- var x = "datablabla";

您可以在客户端部分和其他Jade模板中重用该x变量:

// layout
- var x = "datablabla";
head
  script
    var x = '#{x}';

// other
extends layout
...
block bodyContent
  h1 Welcome to the blabla
  p #{x}