我目前正在使用clndr.js日历和underscore.js模板。
在下划线if/else
函数中寻找帮助实现<% _.each
语句的帮助。
<div class="days">
<% _.each(days, function(day) { %>
<div class="event <%= day.classes %>" id="<%= day.id %>">
<div class="number"><%= day.day %></div>
<% _.each(day.events, function(event){ %>
<div class="event <%= event.val %>"></div>
<% }) %>
</div>
<% }); %>
</div>
目前,日历中每天都会显示<div class="event <%= event.val %>"></div>
,其中包含一个事件,这很棒。但是,我还想在事件不存在的时候添加div:
<div class="days">
<% _.each(days, function(day) { %>
<div class="<%= day.classes %>" id="<%= day.id %>">
<div class="number"><%= day.day %></div>
<% _.each(day.events, function(event){ %>
# if the event exists, show this div
<div class="event <%= event.val %>"></div>
# else if the event does not exist, show this div:
<div class="event none"></div>
<% }) %>
</div>
<% }); %>
</div>
答案 0 :(得分:1)
它在each
回调中的事实并没有改变一件事。 Underscore's template可以直接使用JavaScript。
<% if (event && event.val) { %>
<div class="event <%= event.val %>"></div>
<% } else { %>
<div class="event none"></div>
<% } %>
或者由于你的例子很简单,以下就足够了。
<div class="event <%= event.val || 'none' %>"></div>