javascript - 使用 jade 中布局的变量

标签 javascript node.js pug

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

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

我有一个 jade 文件可以扩展这个布局。 我如何访问该 x 变量??

extends ../layout

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

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

有什么想法吗?

最佳答案

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

更长的答案:您可以在 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}

关于javascript - 使用 jade 中布局的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17254551/

相关文章:

javascript - 为什么在 IIFE 中定义并传递给函数的 "this"引用函数本身?

http - 什么时候在 node.js 中使用 TCP 和 HTTP?

django - 在 Node.js 应用程序中使用 BCryptSHA256PasswordHasher 验证在 Django 中哈希的密码

JQuery 无法在 JADE 中运行?

pug - Jade——在一行中嵌套 html 标签

java - 使用jquery和ajax时html中的表单操作?

Javascript向对象添加同名属性

javascript - 加载页面时Nodejs Web服务器两次调用requestListener

node.js - 类型错误 : Cannot read property 'auth' of undefined

javascript - 如何将 m4v 视频文件嵌入到我的 html 网页中?