Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Jade template with variables (nodejs server side)

Tags:

So i want to show a contacts list and for that I have transformed each contact div into jade code, but I still have to populate the relevant fields. Can I do that on the server side? I'm using nodejs for server code. The jade template of a contact is:

//       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 

So instead of having John Doe and the random phone number if there was a way to signify that i'd like variables over there, and then the nodeJS code would stick in the right values in there and add the contact jade to the main jade page, and then go to the next contact and so on. So something similar to this: http://embeddedjs.com/

I'm using express as a framework for Nodejs.

like image 402
Alex B Avatar asked Mar 29 '12 18:03

Alex B


1 Answers

Yes you can do that when you call render pass the object with data

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

Then inside jade you can do

span #{pageData.name[0]} 

or if you want a loop

each item in pageData.name   span #{item} 

You can find more on the github page https://github.com/visionmedia/jade

like image 174
Dmytro Yashkir Avatar answered Oct 25 '22 23:10

Dmytro Yashkir