我使用了underscore.js模板函数,并创建了如下模板:
<script type="text/template" id="gridItem">
<div class="griditem <%= gridType %> <%= gridSize %>">
<img src="<%= image %>" />
<div class="content">
<span class="subheading"><%= categoryName %></span>
<% if (date) { %><span class="date"><%= date %></span><% } %>
<h2><%= title %></h2>
</div>
</div>
</script>
正如你所看到的,我在这里有一个if语句,因为我的所有模型都没有date参数。然而,这种方法给了我一个错误date is not defined
。那么,我如何在一个模板中执行if语句呢?
8条答案
按热度按时间qv7cva1a1#
这样就可以了:
请记住,在underscore.js模板中,
if
和for
只是标准的javascript语法, Package 在<% %>
标记中。c6ubokkw2#
如果您喜欢较短的if else陈述式,可以使用以下简写:
它表示如果有效则显示ID,如果无效则显示空白。
ufj5ltwl3#
根据情况和/或你的风格,你可能还想在你的
<%
%>
标签中使用print,因为它允许直接输出。比如:对于带有一些连接的原始代码片段:
daolsyd04#
下面是underscore.js中的一个简单if/else检查,如果您需要包含一个空检查的话。
lp0sw83n5#
回答上面的blackdivine(关于如何对结果进行条带化),你可能已经找到了答案(如果是这样的话,你应该为没有分享而感到羞耻!),但是最简单的方法是使用取模运算符。例如,你正在处理一个for循环:
在该循环中,只需检查索引的值(在本例中为i):
这样做将检查索引除以2的余数(对于每个索引行,在1和0之间切换)。
rmbxnbpk6#
您可以尝试_.isUndefined
exdqitrt7#
从here开始:
“您还可以通过该对象引用数据对象的属性,而不是将它们作为变量来访问。”这意味着对于OP的情况,这将起作用(与其他可能的解决方案相比,具有明显较小的变化):
p5cysglq8#
要检查空值,可以使用官方文档中的
_.isNull
如果object的值为null,则返回true。