0

我有这个模板:

.bar
  .titleBox
    a.title(href=URL) #{title}

我想在另一个页面titles.jade中多次包含它,如下所示:

#contentBox
  include bar
  include bar
  include bar

我希望每个人都有不同的 URL 和标题值。

我在节点中有这段代码:

read(function(post){ //post is an array of objects retrieved from a mongodb collection
    // I was thinking of using a for loop to iterate through the array
    res.render('titles', {title: post[i].title, url: post[i].URL});

我怎样才能达到我想要的结果?

4

1 回答 1

1

我不确定这些对象代表什么,但我现在假设我们正在谈论书籍。如果您的翡翠模板可以作为本地获取书籍列表 - 例如,如果它被重新定义为:

res.render('books_index', {books: [{title: 'dune', url: 'http://www.dunenovels.com'},...]})

您可以使用mixin。像这样的东西:

mixin listBooks(books)
  each book in books
    .bar
      .titleBox
        a.title(href=book.url)= book.title

稍后在您的模板中,您可以渲染 mixin:

mixin listBooks(books)
于 2012-12-07T21:39:27.120 回答