vue项目动态绑定class

Posted lyt0207

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue项目动态绑定class相关的知识,希望对你有一定的参考价值。

描述:如下图,点击哪个tabbar就让哪个的样式改变
技术图片

 

 

思路:
定义一个变量currentIndex用来记录点击的是哪个,然后当点击的index == currentIndex时,就给它绑定一个class active
实现:
<template>
    <div class="tabcontrol">
        <div class="tabcontrol-item" v-for="(item, index) in feature" 
        :key="index"
        :class="{active: index === currentIndex}"
        @click="itemClick(index)">
            <span>{{item}}</span>
        </div>
    </div>
</template>
<script>
export default {
    name: ‘TabControl‘,
    props: {
        feature: {
            type: Array,
            default: []
        }
    },
    data(){
        return {
            currentIndex: 0 //记录当前点击的是哪一个就
        }
    },
    methods: {
        itemClick (index) {
            //改变currentIndex
            this.currentIndex = index
        }
    }
}
</script>
<style scoped>
.tabcontrol {
    display: flex;
    text-align: center;
    background: #fff;
}
.tabcontrol-item {
    flex: 1;
}
.active {
    color: var(--color-high-text);
}
.active span {
    border-bottom: 2px solid var(--color-high-text);
  }
</style>

 

以上是关于vue项目动态绑定class的主要内容,如果未能解决你的问题,请参考以下文章

vue动态绑定class

vue 在同一个标签中根据不同条件绑定不同的class 的写法。。动态绑定class

vue动态绑定class的几种方式

VUE强制绑定class和style

vue动态绑定class

Vue.js 动态绑定class