Заполнить два столбца начальной загрузки данными в подчеркивании?

#html #twitter-bootstrap-3 #underscore.js

#HTML #twitter-bootstrap-3 #underscore.js

Вопрос:

Мой код HTML и подчеркивания содержит данные одного объекта (имя, телефон, местоположение и т.д.), Который выполняется через цикл each, чтобы все объекты из базы данных печатались на странице с одинаковым содержимым. Я хочу заполнить эти объекты в двух столбцах начальной загрузки (то есть в col-xs-6 и другой col-xs-6), который также реагирует. Как мне это сделать, не дублируя какой-либо код?

HTML:

   <% _.each(profile.team_members, function(t) { %>
            <div class="row clearfix bio">
                <div class="col-xs-6">
                    <div class="bio_content">
                        <% if(t.first_name || t.last_name){ %>
                            <h3 itemprop="name"><%= t.first_name %> <%=t.last_name %></h3>
                        <% } %>
                        <% if(t.member_title){ %>
                            <div class="subtitle"><%= t.member_title %></div>
                        <% } %>
                        <dl class="info-list">
                            <% if(t.team_member_licenses amp;amp; t.team_member_licenses.length > 0) { %>
                                <dt>Licensed In:</dt>
                                <dd>
                                    <% if(Array.isArray(t.team_member_licenses)) { %>
                                        <%= t.team_member_licenses.join(", ") %>
                                    <% } else { %>
                                        <%= t.team_member_licenses %>
                                    <% } %>
                                </dd>
                            <% } %>
                            <% if(t.team_member_location){ %>
                                <dt>Location:</dt>
                                <dd><%= t.team_member_location %></dd>
                            <% } %>
                            <% if(t.team_member_phone){ %>
                                <dt>Office:</dt>
                                <dd><a itemprop="telephone" class="contact-link color-accent" href="tel:<%=t.team_member_phone_link_formatted%>"><%=t.team_member_phone%></a></dd>
                            <% } %>
                            <% if(t.team_member_fax){ %>
                                <dt>Fax:</dt>
                                <dd><a class="contact-link color-accent" href="tel:<%=t.team_member_fax_link_formatted%>"><%=t.team_member_fax%></a></dd>
                            <% } %>
                            <% if(t.team_member_email){ %>
                                <dt>Email:</dt>
                                <dd><a class="contact-link color-accent" href="mailto:<%=t.team_member_email%>"><%=t.team_member_email%></a></dd>
                            <% } %>
                        </dl>
                    </div> <!--content -->
                </div><!-- /col-lg-12 -->
            </div><!-- /row -->
        <% }); %>
  

Ответ №1:

Хитрость здесь заключается в том, чтобы печатать <div class="row clearfix bio"> в начале каждой четной итерации и печатать </div> в конце каждой нечетной итерации.

 <% _.each(profile.team_members, function(t,index) { %>
    <% if(index % 2 == 0){ %>
     <div class="row clearfix bio">
    <% } %>
      //6 column div printed every iteration
<% if(index % 2 == 1){ %>
    </div><!-- /row -->
<% } %>
  

Полный код:

  <% _.each(profile.team_members, function(t,index) { %>
        <% if(index % 2 == 0){ %>
          <div class="row clearfix bio">
        <% } %>
            <div class="col-xs-6">
                <div class="bio_content">
                    <% if(t.first_name || t.last_name){ %>
                        <h3 itemprop="name"><%= t.first_name %> <%=t.last_name %></h3>
                    <% } %>
                    <% if(t.member_title){ %>
                        <div class="subtitle"><%= t.member_title %></div>
                    <% } %>
                    <dl class="info-list">
                        <% if(t.team_member_licenses amp;amp; t.team_member_licenses.length > 0) { %>
                            <dt>Licensed In:</dt>
                            <dd>
                                <% if(Array.isArray(t.team_member_licenses)) { %>
                                    <%= t.team_member_licenses.join(", ") %>
                                <% } else { %>
                                    <%= t.team_member_licenses %>
                                <% } %>
                            </dd>
                        <% } %>
                        <% if(t.team_member_location){ %>
                            <dt>Location:</dt>
                            <dd><%= t.team_member_location %></dd>
                        <% } %>
                        <% if(t.team_member_phone){ %>
                            <dt>Office:</dt>
                            <dd><a itemprop="telephone" class="contact-link color-accent" href="tel:<%=t.team_member_phone_link_formatted%>"><%=t.team_member_phone%></a></dd>
                        <% } %>
                        <% if(t.team_member_fax){ %>
                            <dt>Fax:</dt>
                            <dd><a class="contact-link color-accent" href="tel:<%=t.team_member_fax_link_formatted%>"><%=t.team_member_fax%></a></dd>
                        <% } %>
                        <% if(t.team_member_email){ %>
                            <dt>Email:</dt>
                            <dd><a class="contact-link color-accent" href="mailto:<%=t.team_member_email%>"><%=t.team_member_email%></a></dd>
                        <% } %>
                    </dl>
                </div> <!--content -->
            </div><!-- /col-lg-12 -->
        <% if(index % 2 == 1){ %>
        </div><!-- /row -->
        <% } %>
    <% }); %>