JavaScriptでPHPのsmartyのようにテンプレートを使ってqueryを展開することができないのかと模索していたところ。
Underscore.jsのtemplateメソッドを使えばいけそうです。
<div id="container"><ul><ul></div>
<script>
var list = "<% _.each(people, function(name,i) { %><li><%= name %></li><% }); %>";
var ret = _.template(
list,
{people : ['moe', 'curly', 'larry']}
);
$('#container > ul').append(ret);
</script>templateメソッドで返ってきた値をdomにappendする感じですねー。確かに便利だが、若干、醜い気がする。
特に、list変数の部分が。
<% %>はJavaScriptのコードでそれ以外がHTMLなんですよね。
文字列で閉じ込めている以上しょうがないのですが、「"」で囲むのがなー。ちょっとうざい。
もう一歩進んで便利に使えないだろうか?
0 コメント:
コメントを投稿