2015-01-26 111 views
-1

我在JS以下行:下劃線不替代變量

terminalsListHtml += this.compiled(_.extend(this.terminals[i], {clazz: 'all'}, obj)); 

我調試以下代碼:

嘗試評估_.extend(this.terminals[i], {clazz: 'all'}, obj)enter image description here

它看起來不錯

但嘗試評估

this.compiled(_.extend(this.terminals[i], {clazz: 'all'}, obj)); 

enter image description here

這對我來說不是預期的結果。

請幫助解決所描述的問題。

P.S.

window.MARC = { 
     addTerminalPage: { 
      .... 
      compiled: _.template($('#terminal-template').text()), 



<script type="text/template" id="terminal-template"> 
    <li data-terminal-id="{{ id }}" class="{{ clazz2 }}"> 
     <label> 
      <input type="checkbox" name="terminal" class="{{ clazz }}" data-terminal-id="{{ id }}" /> 
      <a href="#" title="" class="image"><img 
        src="<c:url value='/resources/images/img1.png'/>" 
        alt=""/></a> 

      <h3>{{ name }} 
       <small>{{ place }}</small> 
      </h3> 
      <p>{{ description }}</p> 

      <p class="count">Проходимость: <span>{{ count }}</span> чел./час</p> 

      <p class="count">Стоимость: <span>{{ amount }}</span> руб./час</p> 
     </label> 
    </li> 
</script> 

P.S.

_.templateSettings = { 
     interpolate: /\{\{(.+?)\}\}/gim, 
     evaluate: /\{\{(.+?)\}\}/gim, 
     escape: /\{\{\-(.+?)\}\}/gim 
    }; 
+0

默認情況下,強調的開頭移動

<script type="text/javascript"> _.templateSettings = { interpolate: /\{\{(.+?)\}\}/gim, evaluate: /\{\{(.+?)\}\}/gim, escape: /\{\{\-(.+?)\}\}/gim }; </script> 

後工作模板使用ERB語法如'<%= foobar %>'。你有沒有指定你想用下劃線來使用mustache.js風格' {{foobar}}'模板?有關如何啓用此功能的信息,請參閱underscore.js文檔的[模板部分](http://underscorejs.org/#template)。 – 2015-01-26 20:42:04

+1

你是否更新過'_.templateSettings'來使用Handlebars語法? – 2015-01-26 20:47:18

+0

@mu太短,你是否喜歡這個** _ templateSettings = {\\{\{(.+?)\}\}/gim, 評估:/\{\{(.+?) \} \}/gim, escape:/\{\{\-(.+?)\}\}/gim }; **? – gstackoverflow 2015-01-26 21:07:29

回答