带变量的玉模板(nodejs服务器端)

时间:2012-03-29 18:47:47

标签: javascript node.js express pug

所以我想显示一个联系人列表,为此我已将每个联系人div转换为jade代码,但我仍然需要填充相关字段。我可以在服务器端执行此操作吗?我正在使用nodejs作为服务器代码。联系人的玉模板是:

//  
    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:mail@company.com') mail@company.com
      //
        left-img
      ul.share-ul
        li
              a.edit(href='#') Edit
        li
          a.share(href='#') Share
        li
          a.delete(href='#') Delete
    //
      img-cont

所以不要使用John Doe和随机电话号码,如果有办法表示我想要那里的变量,那么nodeJS代码会在那里插入正确的值并将联系人jade添加到主玉页,然后转到下一个联系人等。所以类似于:http://embeddedjs.com/

我正在使用express作为Nodejs的框架。

1 个答案:

答案 0 :(得分:64)

是的,当你调用render传递带有数据的对象时,你可以这样做

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

然后在玉内你可以做

span #{pageData.name[0]}

或者如果你想要一个循环

each item in pageData.name
  span #{item}

您可以在github页面https://github.com/visionmedia/jade

上找到更多信息