有没有办法在渲染时将变量传递给把手模板?我有这个模板:
<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 :(得分:0)
我最后只是添加了一个foreach循环并将键值对添加到数组中的每个对象。所以现在是这样的:
function showTopics(container, data, heartclass) {
data.forEach(function(entry) {
entry.heartClass = heartclass;
});
var heartClass = heartclass
var listingTopicsCompiled = listingTopicsTemplate(data);
$(container).html(listingTopicsCompiled);
}
但是,我认为以某种方式访问静态变量会更快/更好。