node.js+express+ejsで変数をループさせる

January 6, 2012,
tags: node.js


このエントリーをはてなブックマークに追加

node.jsのお話です。
express使って簡単なアプリを作っていましたが、ふとテンプレートに送った変数でループさせたい場合はどうすればいいのかしら?
って問題にぶちあたりました。
ajaxでjsonでレスポンスもらってから出力するのもありといえば、ありなんですが、今回の趣旨とは反しているわけです。
今回は普通のレスポンスとして出力させたいと。

でもphpみたいにecho文もないし、printもなくね?
まあでもどーせjspみたいなもんだし、適当に書けばよくね?ってことで以下のように書いたら動きました。

※何か他に良い方法がある方教えてください!

サーバ側

// 一部抜粋 テンプレートに変数を送る
   hoges = [{huga:"ga"},{huga:"gu"}];
   res.render('list',{
     hoges:hoges
   });

テンプレート側


<%
for( var i in hoges ) { %>
<%= hoges[i].huga%><br />
<%  
}
%>
comments powered by Disqus