将if语句添加到下划线模板

时间:2011-11-03 21:59:59

标签: jquery backbone.js underscore.js

我有一个模板,如果传入的变量是空的,我试图不显示div。标题div周围的if语句给了我错误。不确定如何做到这一点。

<div class='caption'>
    <%if(name.length >1 )%><p><span>Name</span><span class='rating'><%= name %></span></p>
    <p><span>time</span><span class='time'><%= duration %> min</span></p>
</div>

1 个答案:

答案 0 :(得分:3)

值得看看你的模板编译的内容,但实际上,它正在创建一个带有一些javascript的函数。你的<% %>里面是真正的javascript。因此,您需要开始和结束块。请注意,我在{语句中使用了起始块if,然后使用ERB样式标记关闭块

<div class='caption'>

<% if(name.length >1 ) { %>
  <p><span>Name</span><span class='rating'><%= name %></span></p>
<% } %>

  <p><span>time</span><span class='time'><%= duration %> min</span></p>

</div>

那应该为你做啊!

(请注意,我无法确定你希望“then”块结束的位置,所以我猜对了......把它移到你希望条件结束的地方)