2011-11-03 71 views
0

我有一个模板,我试图不显示div如果变量传入是空的。围绕标题div的if语句给我错误。不知道如何选择这样做。如果陈述添加到_underscore模板

<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> 
+0

尝试,如果(typeof name!==“undefined”&& name!== null) – dira

+2

与您的问题无关,但您应该使用'<%- name %>'而不是'<%= name %>'。这相当于'<%= _.escape(name)%>'并降低了您的XSS风险。 –

回答

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> 

这应该雅做呃!

(请注意,我不能”肯定地告诉在那里你想你的‘然后’块是年底,所以我只是猜测...它移动到你想要的条件,以结束)