【问题标题】:Can't change jade variable无法更改翡翠变量
【发布时间】:2015-08-27 13:46:16
【问题描述】:

我会保持简短。我有这个代码:

- var title = 'title'

block content
  h1= title
  p Welcome to #{title}

为什么这不起作用?我已经在没有变量的情况下尝试过它并且它工作得很好,所以问题出在变量上。

【问题讨论】:

  • 你收到错误了吗?
  • 没有错误,只是标签中没有文字...只要将标题替换为“标题”,我就会收到文本。真的很奇怪
  • 我可能发现了问题所在。 title 似乎在 layout.jade 的范围内。如果我在 layout.jade 中定义标题,它可以工作。有什么办法可以改用 index.jade(这段代码所在的文件)中的标题吗?

标签: javascript variables pug interpolation template-engine


【解决方案1】:

问题是,由于 index.jade 扩展布局,当我在 index.jade 中定义变量,然后在块内容中引用它时,对它的引用位于定义之前。

修复很简单:要么在块内容中定义变量:

block content
- var title = 'title'
  h1= title
  p Welcome to #{title}

或者如果你希望它也可以在 layout.jade 中,只需在 layout.jade 的顶部定义它即可。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多