gpt4 book ai didi

javascript - Backbone.js:将事件类应用于模板中的事件元素?

转载 作者:行者123 更新时间:2023-11-30 18:11:31 24 4
gpt4 key购买 nike

我有一个看起来像这样的 Backbone 模板:

<script type="text/html" id="template-switchers">
<strong><%= activeViz %></strong>
<button class="btn" data-viz="lists"><i class="icon-list icon-large"></i></button>
<button class="btn" data-viz="atomic"><i class="icon-spinner icon-large"></i></button>
<button class="btn" data-viz="maps"><i class="icon-map-marker icon-large"></i></button>
<button class="btn" data-viz="charts"><i class="icon-bar-chart icon-large"></i></button>
</script>

传入的activeViz参数可以是listsatomicmapscharts中的任意一个。我的问题是:如何将 active 类添加到相应的按钮?

到目前为止,我一直在用 jQuery 做这件事:

$('#viz-switchers button[data-viz="'+ activeViz + '"]').addClass('active');

但现在我想重构Backbone,并使用模板。在模板中没有四个 if 语句的情况下,是否有更好的 Backbone 方法?

最佳答案

您可以创建按钮数组并在循环中呈现它,例如:

var buttons = [{viz:'', icon:''}, {}, {}];

并且在您的模板渲染按钮中:

<% _.each(buttons, function(button) { %>
<button class="btn" data-viz="<%= button.viz %>">
<i class="<%= button.icon %> icon-large <% button.viz === activeViz && print('active') %>"></i>
</button>
<% }) %>

关于javascript - Backbone.js:将事件类应用于模板中的事件元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14465083/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com