2012-08-02 7 views
23

Ich habe eine backbone.js/undescore.js Vorlage, die ich in eine Backbone-Ansicht zum Rendern einspeise. Der View wird ein Modell übergeben, das ein Array posts von Objekten enthält (die ich in der Vorlage post nenne).Verwenden von Schleifen in Backbone-/Unterstrichvorlagen

Problem: Wenn ich eine Schleife durch alle Elemente des Arrays versuchen posts, bekomme ich einen Fehler Uncaught SyntaxError: Unexpected token) und bezieht sich eine Zeile im Code des Backbone-Ansicht template: _.template($('#tpl_SetView').html()).

Mache ich die Schleife falsch, die diesen Fehler verursacht?

Template Code

<script type="text/template" id="tpl_SetView"> 
    <div class="row_4"> 
     <div class="photo_container"> 
      <div class="set_cover"> 
       <img src="/<%= posts[0].thumb_subpath %><%= posts[0].img_filename %>" width=240 /> 
      </div> 
      <div class="set_thumbs"> 
       <%= _.each(posts, function(post) { %> 
        <img src="<%= post.thumb_subpath %><%= posts.img_filename %>" width=55 /> 
       <%= }); %> 
      </div> 
     </div> 
    </div> 
</script> 
+2

Ich denke, es ist besser, den Code zu neuen Modellen und Ansichten zu organisieren. In einer nicht guten Übung durch die Vorlagen scrollen – chchrist

+0

Ich bin neugierig, warum du denkst, dass das Durchlaufen einer Vorlage eine schlechte Übung ist. Ich habe nur die Antwort von James Woodruff implementiert, die darin besteht, eine Liste mit ausgewählten Optionen zu erstellen (die je nach Situation variieren) und es scheint mir viel einfacher zu sein, das Array von Optionen zu durchlaufen, anstatt eine separate Ansicht zu machen genannt 'selectOption' oder was auch immer und dann iterativ an die