テンプレートにunderscore.jsを使用しています。これがサンプルテンプレートです。
<script id="discussion-template" type="text/html">
[[ _.each(discussions, function(topic){ ]]
<li>
<article id="{{ topic.htmlId() }}">
<a class="section-arrow mir" href="#">toggle</a>
<h3>{{ topic.get('text') }}</h3>
<ol></ol>
</article>
</li>
[[ }); ]]
</script>
backbone.js view.render() 内で、コレクションをテンプレートに渡しています。
this.el.append(this.template({ discussions: this.collection.models }));
ここでの私の質問は、ループ コードを記述する必要がありますか? コレクションを渡すだけでなく、コレクション内のアイテムごとに 1 つのアイテムをレンダリングするのに十分スマートなアンダースコアを使用することはできませんか? また、underscore.js はテンプレートをネストするためのものを提供していますか? コレクション内の各アイテムには、実際にはレンダリングする必要があるアイテムのコレクションもあります。このテンプレート内から別のテンプレートを呼び出すにはどうすればよいですか。もちろん、リンク、ヒント、チュートリアルは大歓迎です。
ありがとう!