对此感到困惑。
尝试在CLNDR下划线模板上为事件日添加自定义类。
这是我的下划线模板摘录:
<div class="days clearfix">
<% _.each(days, function(day) { %>
<%= console.log(day.events[0]) %>
<div class="<%= day.classes %>" id="<%= day.id %>"><span class="day-number"><%= day.day %></span></div>
<% }); %>
</div>
从console.log(day.events[0])
中,我将获得一个具有以下日期值的数组:
我尝试使用显而易见的day.events[0].type
或<div class="<%= day.classes %> <%= day.events[0].type %>"
访问此数组中的type属性,但始终在控制台中获取此错误消息:Uncaught TypeError: Cannot read property 'type' of undefined
。
如何访问控制台记录的关联数组中的类型值,并将其插入到模板中,在我的模板中渲染单词“ incoming
”(数组中的类型值)以及<%= day.classes %>
模板?
答案 0 :(得分:0)
我不确定这不是最优雅的解决方案,但我可以通过将_.each
与if
语句一起使用来仅返回第一个type
值来使其工作:
<% _.each(days, function(day) { %>
<div class="<%= day.classes %><% _.each(day.events, function(k, v) { %><% if (v == 0) { %> <%= k.type %><% } %><% }); %>"><span class="day-number"><%= day.day %></span></div>
<% }); %>
似乎按预期工作。.我敢肯定,如果有人愿意分享的话,会有更好的答案。对于为什么我无法使用day.events[0].type
直接访问值,我仍然感到困惑-这是我认为的最佳选择。 each
循环似乎是一种骇人的解决方法。