【问题标题】:Passing Jade partials with locals与当地人传递翡翠部分
【发布时间】:2013-09-24 09:08:37
【问题描述】:

我希望通过 Jade 包含来自控制器的局部变量。对于这个示例,我的数据进行了简化,当然我希望实现更复杂的东西。

控制器:

res.render("index", {title: "Lovely"})

index.jade:

section
  include list, {listTitle: title}

list.jade:

h3 #{listTitle}

但是listTitle没有传递给include

在 Rails 中,我们通过将 locals 分配给 partials 来做到这一点,这在 Jade 中如何实现?

【问题讨论】:

标签: node.js express pug


【解决方案1】:

在 Jade 中,partials 被称为 mixins。例如:

控制器:

res.render("index", {title: "Lovely"})

index.jade:

include mixins

section
  +list(title)

mixins.jade:

mixin list(listTitle)
  h3 #{listTitle}

mixin 在 mixins.jade 中定义。然后使用 + 号将其添加到 index.jade。

【讨论】:

    【解决方案2】:

    控制器:

    var listTitle = [{ title: 'foo' }, { title: 'baz' }];  
    var title = "Lovely";
    res.render("index", {title: title, listTitle: listTitle})
    

    index.jade:

    section
        for lists in listTitle
            include list
    

    list.jade:

    h3 #{lists.title}
    

    【讨论】:

    • 这太荒谬了。只需在list.jade 中使用title,然后忘记listTitle
    • 正如我所提到的,我的代码是一个简化的示例。我真正想做的是在循环中使用include 并每次传递不同的参数,就像Rails 中的一个部分
    猜你喜欢
    • 1970-01-01
    • 2016-08-04
    • 2011-08-07
    • 1970-01-01
    • 2015-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-23
    相关资源
    最近更新 更多