2012-03-29 13 views
25

Also ich möchte eine Kontaktliste zeigen und dafür habe ich jedes Kontakt-Div in Jade-Code umgewandelt, aber ich muss noch die relevanten Felder ausfüllen. Kann ich das auf der Serverseite tun? Ich verwende nodejs für den Servercode. Die Jade Vorlage eines Kontakts ist:Jade Vorlage mit Variablen (nodejs serverseitig)

// 
    img-cont 
    .img-cont 
     // 
     img-cont 
     .left-img 
     // 
      left-img 
     .img-box 
      img(src='assets/img/img.jpg', alt='') 
     .name 
      h6 
      span John Doe 
      img(src='assets/img/star-b.png', alt='') 
      p 
      strong Phone number: 
      | +1 234 567890 
      p 
      strong Email address: 
      a(href='mailto:[email protected]') [email protected] 
     // 
     left-img 
     ul.share-ul 
     li 
       a.edit(href='#') Edit 
     li 
      a.share(href='#') Share 
     li 
      a.delete(href='#') Delete 
    // 
     img-cont 

Statt John Doe zu haben und die zufällige Telefonnummer, wenn es einen Weg, um anzuzeigen, dass ich Variablen dort möchte, und dann würde der NodeJS Code-Stick in die richtigen Werte dort und fügen Sie die Kontakt-Jade der Haupt-Jade-Seite hinzu, und gehen Sie dann zum nächsten Kontakt und so weiter. So etwas ähnliches dazu: http://embeddedjs.com/

Ich benutze Express als Framework für Nodejs.

Antwort

65

Ja, Sie können das tun, wenn Sie das Objekt mit Daten übergeben render rufen

res.render('your page', {pageData: {name : ['name 1', 'name 2']}}); 

Dann innen Jade können Sie

span #{pageData.name[0]} 

tun oder wenn Sie wollen eine Schleife

each item in pageData.name 
    span #{item} 

Sie finden mehr auf der Github-Seite https://github.com/visionmedia/jade

+1

Oder jade-lang.com aber die Beispiele im Git-Baum sind wahrscheinlich die beste Dokumentation. –

+0

Gibt es eine Möglichkeit, den Namen der Seite aus einer Vorlage heraus aufzurufen? Z.B. pageTitle = # {'Ihre Seite'} – funseiki

+1

@funseiki Siehe diese verwandte Frage: http://stackoverflow.com/q/24855111/1715579 –

Verwandte Themen