0

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

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

有任何想法吗 ?

4

1 回答 1

3

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

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

- var x = "datablabla";

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

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

// other
extends layout
...
block bodyContent
  h1 Welcome to the blabla
  p #{x}
于 2013-06-22T19:53:16.480 回答