2011-11-03 5 views
0

전달 된 변수가 비어 있으면 div를 표시하지 않으려는 템플릿이 있습니다. 캡션 div 주변의 if 문에서 오류가 발생합니다. elese가 이것을 어떻게하는지 확실하지 않습니다.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

경우 시도 (당신이 마지막에 조건을 원하는 위치로 이동 ... 나는 당신이 당신의 "다음"블록 수의 끝을 원하는 위치를 확실히 알 '을 couldnt 있습니다, 그래서 난 그냥 추측) (typeof name! == "undefined"&& name! == null) – dira

+2

질문에 관련이 없지만 아마도 '<%= name %>'대신에 '<%- name %>'을 사용해야합니다. 이것은'<% = _.escape (name) %>'과 동일하며 XSS 위험을 줄입니다. –

답변

3

템플릿을 컴파일하는 것이 중요하지만 실제로는 자바 스크립트로 함수를 만드는 것입니다. 안에 <% %> 진짜 자바 스크립트입니다. 이 때문에 블록을 시작하고 종료해야합니다. 나는 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> 

을 닫습니다!