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

时间:2015-10-19 10:47:44

标签: pug

初学者正在使用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,则会出现(例如,在块headertext内)。 但是,如果我在example.jade(扩展docwrapper)中添加:

block title
  | Some Text Here

然后在页面上进行更改。如果我把变量放在那里它甚至可以工作。

根据我的理解,无论我放在块标题下的docwrapper.jade中,它应该是它的默认输出,这样如果在example.jade中没有提到块标题,那么输出应该使用默认值。

我可以上传整个三个文件供有人查看,如有必要。 有什么想法吗?

1 个答案:

答案 0 :(得分:1)

使用block prepend,这样你已经拥有的就会留在那里,并且会在它之前添加新的内容。

docwrapper.jade

title 
  block prepend title
    | #{PageTitle}

example.jade

extend docwrapper.jade
block title
  | Some Text Here