2013-05-01 2 views
0

Fiddle здесь:Подчеркивание _each. функция получения вложенных объектов в цикле

http://jsfiddle.net/rBhfx/79/

В этом цикл внутри шаблона подчеркивание: <% 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> 

ответ

1

Вы пытались использовать:

<% _.each(thing.items, function(item) { %> 
    … 
<% }); %> 

Вместо:

<% for(var item in thing.items) { %> 
    … 
<% } %> 
Смежные вопросы