2017-01-12 2 views
0

Есть ли способ передать переменную в шаблон дескрипторов при ее рендеринге? У меня есть этот шаблон:Передача переменной в Handlebars при визуализации шаблона

<script id="listingTopics" type="text/x-handlebars-template"> 
{{#each this}} 
    <div class="wrapper_individual_listing_topic wrapper_form_dark"> 
     <div class=" form_section"> 
      <div class="topics_titles wrapper_listing_topics"> 
       <a href="topic-{{id}}" class="listing-topics">{{title}}</a> <svg class="affinity {{heartClass}}" data-topicid="{{id}}"><use xlink:href="#starEmpty"/></svg> 
      </div> 

      <div class="topic-description hide topic-{{id}}"> 
       <p class="text_standard">{{body}}</p> 
      </div> 
     </div> 
    </div> 
{{/each}}</script> 

и переменная Я хочу, чтобы установить, когда я сделать шаблон heartclass

Моя первоначальная идея, чтобы сделать это, чтобы настроить функцию:

function showTopics(container, data, heartclass) { 
    var heartClass = heartclass 
    var listingTopicsCompiled = listingTopicsTemplate(data); 
    $(container).append(listingTopicsCompiled); 
} 

и затем вызовите функцию, подобную этой функции

showTopics('#listing-topics', not_favorite_exchanges, 'unfav'); 

Не знаете, как атаковать это. Любая помощь очень ценится!

ответ

0

В итоге я просто добавил цикл foreach и добавил пару значений ключа к каждому объекту в массиве. Итак, теперь это так:

function showTopics(container, data, heartclass) { 
    data.forEach(function(entry) { 
     entry.heartClass = heartclass; 
    }); 
    var heartClass = heartclass 
    var listingTopicsCompiled = listingTopicsTemplate(data); 
    $(container).html(listingTopicsCompiled); 
} 

Однако, я думаю, что было бы быстрее/лучше каким-то образом получить доступ к статической переменной.

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