繁体   English   中英

如何使用Vue.js将活动类添加到Tab的动态创建的导航中?

[英]How to add active class to tab's dynamically created navigation using Vue.js?

我正在尝试将活动类添加到元素中,以便使用vue.js进行标签导航。 问题是,除了是Vue的新功能之外,导航项还可以在for循环中动态创建,如下所示:

<c:forEach items="${tabnav.tabs}" var="tab" varStatus="loop">
  <c:if test="${loop.count le tabnav.totalTabs}">
    <li v-bind:class="{active : isActive}" v-on:click="tabSelected = ${loop.count}; isActive = !isActive">${tab.heading}</li>
  </c:if>
</c:forEach>

JS看起来像这样:

Vue.component('tabnav', {
    data: function() {
        return {
            tabSelected: 1,
            isActive: false
        };
    }
});

问题在于,这会在导航中的所有项目(而不是单击的项目)上切换类。

我是否需要创建一种处理方法?

不要使用isActive 检查tabSelected是否等于循环中的当前选项卡。

v-bind:class="{active : tabSelected === ${loop.count}}"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM