防止模板循环内的标签被多次输出?
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/
这是一个单独处理第一个会话元素和其余元素的模板。
<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/
我使用了 index
和 if
结构如下:
<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/
我正在尝试创建一个 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/
这是一个单独处理第一个会话元素和其余元素的模板。
<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/
我使用了 index
和 if
结构如下:
<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/