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

これらのオブジェクトが何を表しているのかはわかりませんが、ここでは本について話していると仮定します。jade テンプレートが本のリストをローカルとして取得できる場合 - たとえば、次のように再表示される場合:

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 listBooks(books)
于 2012-12-07T21:39:27.120 に答える