2012-04-27 45 views
1

與模板的if語句下面是我的模板:問題與Underscore.js

<script type="text/html" id="template_medassign">   
    <div class=" <%= pocket.get('spanTag') %>" > 
     <a data-toggle="modal" href="#windowTitleDialog" class="thumbnail">     
      <% if (<%= pocket.get('drugDoseDisplayName') %>.length < 0 ) { %> 
       <label ><%= pocket.get('drugDoseDisplayName') %></label> 
      <% } else { %> 
       ...else block 
      <% } %> 
     </a> 
    </div> 
</script> 

我從主模板傳遞pocket對象數據,並能夠爲spanTagdrugDoseDisplayName屬性檢索數據。但是,如果我嘗試在if語句中使用「Microsoft JScript運行時錯誤:預期」從underscore.js中獲取錯誤)'「

我試過其他方法,通過在模型中用布爾標誌維護另一個道具,但沒有運氣。 Pl建議解決方案。

<% if (<%= pocket.get('isMedAsiigned') %> ) { %> 
<% if (%> <%= pocket.get('isMedAsiigned') %> <% ) { %> 

回答

2

你試圖巢您的模板標籤:

<% if (<%= pocket.get('drugDoseDisplayName') %>.length < 0 ) { %> 
     ^^^         ^^ 

和正在生產的JavaScript無效時_.template編譯模板成JavaScript函數。一旦你在裏面<% ... %>,你已經在JavaScript中,從fine manual

[...] as well as execute arbitrary JavaScript code, with <% … %>

有沒有必要給你模板標籤嵌套,你可以這樣做:

<% if (pocket.get('drugDoseDisplayName').length < 0) { %> 
+0

感謝您的快速反應,這是有效的。 – 2012-04-28 13:04:48