防止模板循环内的标签被多次输出?

Prevent tag inside template loop from being output more than once?

我正在尝试创建一个 table,其中包含一个 id 单元格,该单元格应基于 sessions 数组长度跨越 3 列,现在因为 id单元格在循环内,当我只希望它显示一次时,它会输出 3 次。是否可以在模板中设置一些东西来做到这一点?

JS

<table>
    <tbody class="js-output">
        <script type="text/html" id="tmpl">
            <% _.each(sessions, function(session) { %>
                <tr>
                    <td rowspan="<%- session.length %>"><%- id %></td>
                    <td><%- session %></td>
                    <td><select name="" id=""></select></td>
                </tr>
            <% }) %>
        </script>
    </tbody>
</table>

Fiddle: https://jsfiddle.net/egks4ys1/

硬编码布局:https://jsfiddle.net/egks4ys1/1/

这是一个单独处理第一个会话元素和其余元素的模板。

<table>
    <tbody class="js-output">
        <script type="text/html" id="tmpl">          
            <tr>
                <td rowspan="<%- sessions.length %>"><%- id %></td>
                <td><%- _.first(sessions) %></td>
                <td><select name="" id=""></select></td>
            </tr>
            <% _.each(_.rest(sessions), function(session) { %>
                <tr>
                    <td><%- session %></td>
                    <td><select name="" id=""></select></td>
                </tr>
            <% }) %>
        </script>
    </tbody>
</table>

Fiddle: https://jsfiddle.net/egks4ys1/6/

我使用了 indexif 结构如下:

<table>
<tbody class="js-output">
    <script type="text/html" id="tmpl">
        <% _.each(sessions, function(session,i) { %>
            <tr>
                <% if(i!=0){ %> 
                <td><%- session %></td>
                <td><select name="" id=""></select></td>    <%}%>

                <% if(i==0){%>  <td  rowspan="<%- sessions.length %>"><%- id %></td>
                <td><%- session %></td>
                <td><select name="" id=""></select></td><%}%>   
            </tr>
        <% }) %>
    </script>
</tbody>

JSFiddle:https://jsfiddle.net/egks4ys1/14/