2015-01-26 2 views
-1

У меня есть следующая строка в ЯШ:подчеркивание не заменяет переменные

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

По умолчанию подчеркнет шаблоны используют синтаксис ERB например '<%= foobar %>'. Вы указали, что хотите подчеркнуть, что стиль mustache.js ' {{foobar}}' templating? См. Раздел [template в файле underscore.js docs] (http://underscorejs.org/#template) для получения информации о том, как включить это. –

+1

Вы обновили '_.templateSettings', чтобы использовать синтаксис Handlebars? –

+0

@mu слишком коротко, вы не считаете это ** _. TemplateSettings = { interolate: /\{\{(.+?)\}\}/gim, оценить: /\{\{(.+?) \} \}/gim, escape: /\{\{\-(.+?)\}\}/gim }; **? – gstackoverflow

ответ

0

Он работает после перемещения

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

в начале файла

Смежные вопросы