Vue中如何实现动态绑定class的多种方法概述?

更新于
2026-10-02 15:32:43
1阅读来源:SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计486个文字,预计阅读时间需要2分钟。

原文:本文字例讲述了vue动态绑定class的几种常用方式。分享给大众提供参考,具体如下:- 对象方法- 最简单的绑定(这里的active加不加单引号都可以,以下也都一样能渲染): class={ 'activ': true }

改写后:本例展示了vue动态绑定class的几种方法。包括:- 使用对象方法- 简单绑定方式(active前后单引号均可,效果相同): class={ 'active': true }

本文实例讲述了vue动态绑定class的几种常用方式。分享给大家供大家参考,具体如下:

对象方法

最简单的绑定(这里的active加不加单引号都可以,以下也一样都能渲染)

:class="{ 'active': isActive }"

  • 判断是否绑定一个active

:class="{'active':isActive==-1}"

或者

:class="{'active':isActive==index}"

  • 绑定并判断多个

第一种(用逗号隔开)

:class="{ 'active': isActive, 'sort': isSort }"

第二种(放在data里面)

//也可以把后面绑定的对象写在一个变量放在data里面,可以变成下面这样 :class="classObject" data() { return { classObject:{ active: true, sort:false } } }

第三种(使用computed属性)

:class="classObject" data() { return { isActive: true, isSort: false } }, computed: { classObject: function () { return { active: this.isActive, sort:this.isSort } } }

数组方法

  • 单纯数组

:class="[isActive,isSort]" data() { return{ isActive:'active', isSort:'sort' } }

  • 数组与三元运算符结合判断选择需要的class

(注意:三元运算符后面的“:”两边的class需要加上单引号,否则不能正确渲染)

:class="[isActive?'active':'']"

或者

:class="[isActive==1?'active':'']"

或者

:class="[isActive==index?'active':'']"

或者

:class="[isActive==index?'active':'otherActiveClass']"

  • 数组对象结合动态判断

//前面这个active在对象里面可以不加单引号,后面这个sort要加单引号 :class="[{ active: isActive }, 'sort']"

或者

:class="[{ active: isActive==1 }, 'sort']"

或者

:class="[{ active: isActive==index }, 'sort']"

希望本文所述对大家vue.js程序设计有所帮助。

本文共计486个文字,预计阅读时间需要2分钟。

原文:本文字例讲述了vue动态绑定class的几种常用方式。分享给大众提供参考,具体如下:- 对象方法- 最简单的绑定(这里的active加不加单引号都可以,以下也都一样能渲染): class={ 'activ': true }

改写后:本例展示了vue动态绑定class的几种方法。包括:- 使用对象方法- 简单绑定方式(active前后单引号均可,效果相同): class={ 'active': true }

本文实例讲述了vue动态绑定class的几种常用方式。分享给大家供大家参考,具体如下:

对象方法

最简单的绑定(这里的active加不加单引号都可以,以下也一样都能渲染)

:class="{ 'active': isActive }"

  • 判断是否绑定一个active

:class="{'active':isActive==-1}"

或者

:class="{'active':isActive==index}"

  • 绑定并判断多个

第一种(用逗号隔开)

:class="{ 'active': isActive, 'sort': isSort }"

第二种(放在data里面)

//也可以把后面绑定的对象写在一个变量放在data里面,可以变成下面这样 :class="classObject" data() { return { classObject:{ active: true, sort:false } } }

第三种(使用computed属性)

:class="classObject" data() { return { isActive: true, isSort: false } }, computed: { classObject: function () { return { active: this.isActive, sort:this.isSort } } }

数组方法

  • 单纯数组

:class="[isActive,isSort]" data() { return{ isActive:'active', isSort:'sort' } }

  • 数组与三元运算符结合判断选择需要的class

(注意:三元运算符后面的“:”两边的class需要加上单引号,否则不能正确渲染)

:class="[isActive?'active':'']"

或者

:class="[isActive==1?'active':'']"

或者

:class="[isActive==index?'active':'']"

或者

:class="[isActive==index?'active':'otherActiveClass']"

  • 数组对象结合动态判断

//前面这个active在对象里面可以不加单引号,后面这个sort要加单引号 :class="[{ active: isActive }, 'sort']"

或者

:class="[{ active: isActive==1 }, 'sort']"

或者

:class="[{ active: isActive==index }, 'sort']"

希望本文所述对大家vue.js程序设计有所帮助。