web-dev-qa-db-ja.com

変数を含むJadeテンプレート(nodejsサーバー側)

連絡先リストを表示したいので、各連絡先divをコードに変換しましたが、関連するフィールドに入力する必要があります。サーバー側でそれを行うことはできますか?サーバーコードに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:[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

だから、John Doeとランダムな電話番号を持っている代わりに、そこに変数が欲しいことを示す方法があり、nodeJSコードがそこの正しい値に固執し、連絡先のヒスイをメインのヒスイページに追加します、次の連絡先などに進みます。これに似たもの: http://embeddedjs.com/

Nodejsのフレームワークとしてexpressを使用しています。

25
Alex B

はい、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

64
Dmytro Yashkir