玉。将纯文本变量传递给标题

Jade. Passing plain text variable to title

使用 jade 的初学者,我正在转向使用变量。 我有三个文件:docwrapper.jade(模板)、example.jade(内容)和 config.jade(变量)。

我在 config.jade 中设置了一个非常基本的变量 - var PageTitle = "Jade"

然后它应该将自己插入我的 docwrapper.jade:

include config

doctype
html
  head
    block metatags
      meta(charset="utf-8")
      meta(http-equiv="X-UA-Compatible", content="IE=edge")
      meta(name="viewport",content="width=device-width,initial-scale=1.0")     
    title 
      block title
        | #{PageTitle}
    block stylesheets
      link(href="assets/css/stylesheet.css",rel="stylesheet")
  body
    nav
      .wrapper
        a.global-nav(href="#")
          img.global-nav(href="#")
        span.page-footer
          block headertext
            | Default Content
    section.wrapper
      block content

但是文件编译时没有标题。如果我在代码的其他任何地方插入变量 PageTitle,它就会出现(例如,在块标题文本中)。 但是,如果我在 example.jade(扩展了 docwrapper)中添加:

block title
  | Some Text Here

然后它在页面上发生变化。如果我把变量放在那里它甚至可以工作。

根据我的理解,我在块标题下 docwrapper.jade 中放入的任何内容都应该是它的默认输出,因此如果 example.jade 中没有提及块标题,那么输出应该使用默认值。

如果需要的话,我可以上传整个三个文件供其他人查看。 有什么想法吗?

使用 block prepend,这样您已有的内容将保留在那里,新内容将在它之前添加。

docwrapper.jade

title 
  block prepend title
    | #{PageTitle}

example.jade

extend docwrapper.jade
block title
  | Some Text Here