ここでフィドル:
アンダースコア テンプレート内のこの for ループでは、次のようになります。
<% for(var item in thing.items) { %>
item.name を取得したかったの<%= item.name %>
ですが、何も出力されません。
things.items
各オブジェクトからプロパティを取得するにはどうすればよいですか? ありがとう!
私の JSON データは次のようになります。
var things = [{
"name": "Chair",
"title": "Chairs",
"items": [{
"name": "Recliner",
"title": "Recliner Chair",
"type": "Chair",
"quantity": "1"
},
{
"name": "Club/Armchair",
"title": "Club/Armchair",
"type": "Chair",
"quantity": 1
}]
},
{
"name": "Table",
"title": "Tables",
"items": [{
"name": "End Table",
"title": "End Table",
"type": "Table",
"quantity": "1"
},
{
"name": "Coffee Table",
"title": "Coffee Table",
"type": "Table",
"quantity": 1
}]
}];
そして、私のテンプレートは次のようになります。
<script type="text/html" id='furniture-template'>
<% _.each(things,function(thing,key,list){
// create more variables
%>
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" href="#things-<%= thing.name %>">
<%= thing.title %>
</a>
</div> <!-- header -->
<div id="things-<%= thing.name %>" class="accordion-body collapse in">
<div class="accordion-inner">
<% for(var item in thing.items) { %>
<div class="item">
<a class="item-add" data-type="Chairs" data-name="Recliner"><%= item.name %></a>
</div>
<% } %>
</div> <!-- inner -->
</div> <!-- accordion-body -->
<% }); %>
</script>