アンダースコア テンプレートは非常に単純に見えますが、私は最初の試みに取り組んでおり、困惑しています。
H1に人の名前を表示しようとしています。
これが私のテンプレートです:
<script id="tmpl-index-list" type="text/template">
<% _.each(data, function(item){ %>
<li>
<a href="#person" data-transition="slide">
<h1><%=item.personName%></h1>
</a>
</li>
<% }); %>
そして、ここに私のJSがあります:
var tmplMarkup = $('#tmpl-index-list').html();
var compiledTmpl = _.template( tmplMarkup, {data: IndexList.listEntries} );
$('#index-list-wrapper').html(compiledTmpl);
IndexList.listEntires は ListEntry オブジェクト、単純なキー/値オブジェクトの配列です。
たとえば、「クラス」は次のとおりです。
function ListEntry(){
this.img_url = '';
this.personName = '';
this.personID = '';
};
その上でconsole.dirを実行すると、データはそこにありますが、テンプレートのitem.personNameの場合、未定義として表示されます。
私は何が欠けていますか?
前もって感謝します。