【问题标题】:Pass variables across Jade template blocks in Express 3在 Express 3 中跨 Jade 模板块传递变量
【发布时间】:2012-09-13 01:21:26
【问题描述】:

我正在使用 Jade 模板引擎运行 Express 3.0。我正在尝试将变量从模板页面传递到主布局页面。像这样:

layout.jade (sn-p):

!!! 5
html(lang='en') 
    head 
        meta(charset='utf-8')
        title= locals.title

        - if (typeof(stylesheets) !== 'undefined')
            each stylesheet in stylesheets
                link(rel='stylesheet', href='/stylesheet/#{stylesheet}.css')

    body
        block body

landing.jade (sn-p):

stylesheets = ["landing"]
extends layout

block body
    h1 Test 1234

生成的代码不包含额外的样式表标签。我尝试- var stylehseets... 并重命名“样式表”,担心它可能是一个关键字。

有什么建议吗?

【问题讨论】:

    标签: javascript node.js express pug


    【解决方案1】:

    为此使用block append 功能。直接来自文档的示例与您正在尝试做的完全一样。

    layout.jade


    html
      head
        block head
          link(rel='stylesheet', href='/css/layout.css')
        body
          block body
    

    着陆.翡翠


    extends layout
    
    block append head
      link(rel='stylesheet', href='/css/landing.css')
    block body
      h1 Test 1234
    

    【讨论】:

    • 谢谢!这样干净多了。
    • 在这种情况下附加到一个块是可行的,但是如果你真的需要一个变量呢?
    • 只使用一个变量。没有什么说 block append 部分的内容不能使用变量或玉的任何其他功能。
    猜你喜欢
    • 2016-10-18
    • 2013-11-04
    • 2011-08-29
    • 1970-01-01
    • 2012-09-01
    • 2015-11-18
    • 1970-01-01
    • 2016-10-20
    • 1970-01-01
    相关资源
    最近更新 更多