vue动态绑定多个类名方法详解(:class动态绑定多个类名)

 更新时间:2022年11月12日 10:48:05   作者:崽崽的谷雨  
vue中可以通过:class=""这样来根据一定的条件来动态添加class,但是有时候需要判断的条件比较多,需要动态添加的class也比较多,下面这篇文章主要给大家介绍了关于vue动态绑定多个类名(:class动态绑定多个类名)的相关资料,需要的朋友可以参考下

问题描述:

今天遇到一个问题,就是 一个元素要动态绑定 两个或多个类名。

固定绑定多个类名方法:

绑定多个写死的类名很简单方法有如下几种:

方式一:

 class 中间有空格

<div class="active vv">5555555</div>

方式二:

数组形式 使用 :class 当然 直接在data里声明一个 变量也可以。

<div :class="['active','vv']">5555555</div>

方式三:

借用一个方法处理 

<div :class="classS()">5555555</div>

methods里定义一个方法 返回 字符串 和数组都行

 methods:{
         classS(){
           return ['vv','active'];
           // return "vv active";
         }
      }

动态绑定多个类名方法:  

其实动态绑定 和固定 差不多,方式是一样的,无非就是需要根据变量来判断。

以下方式 data 和 样式代码如下

 data() {
        return {
           bb:1,
           index:1,
           cc:1
        }
     },
.active{
  color:red;
}
.vv{
  font-size:30px;
}

方式一:

三目运算符,且以数组形式 。不推荐使用这种方法,如果只有两个类名可以使用,多了的话就不好写 三目运算符了。

<div :class="bb==index&&cc==index?['active','vv']:bb==index?'active':cc==index?'vv':''">55555555555</div>

方式二:

以大括号 形式

<div :class="{active:bb==index,vv:cc==index}">55555555555</div>

方式三:

 数组形式,每个数组项里使用 判断

  <div  
:class="[{active:bb==index},{vv:cc==index}]">55555555555</div>

直接三目也可以 

   <div :class="[bb==index?'active':'',cc==index?'vv':'']">55555555555</div>

方式四:

用一个方法搞定 

 <div  
:class="classS1()">55555555555</div>
 classS1(){
            let v = [];
            if (this.index == this.bb) {
                v.push("active");
            }
            if (this.index == this.cc) {
                v.push("vv")
            }
            return v;
        }

总结:

方式一:

优点: 写法简单   

缺点:写两个 以上类名时 无法写 且不利于阅读

方式二:

优点: 写法简单   

缺点:当多个时 也不利于阅读

方式三:

优点: 写法简单   

缺点:当多个时 也不利于阅读

方式四:

优点: 写法简单  ,利于阅读 ,而且可以添加 很多 判断

缺点:无

如果是 两个及两个以下 方式一、方式二、方式三、方式四都可以 。

如果是 两个以上 方式二、方式三、方式四 这个 我建议还是 用方式四 看起来很清爽。

在线示例:

vue 动态绑定多个类名

到此这篇关于vue动态绑定多个类名方法的文章就介绍到这了,更多相关vue :class动态绑定多个类名内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 谈谈Vue.js——vue-resource全攻略

    谈谈Vue.js——vue-resource全攻略

    本篇文章主要介绍了谈谈Vue.js——vue-resource全攻略,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • vue实现某元素吸顶或固定位置显示(监听滚动事件)

    vue实现某元素吸顶或固定位置显示(监听滚动事件)

    这篇文章主要为大家详细介绍了vue实现某元素吸顶或固定位置显示,监听滚动事件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • vue3 文档梳理快速入门

    vue3 文档梳理快速入门

    vue3之所以受广大袁友的喜欢,优点必不可少呀,比如:可以监听动态新增的属性;可以监听删除的属性 ;可以监听数组的索引和 length 属性;下面文章小编就来向大家介绍vue3,感兴趣的小伙伴不要错过奥
    2021-09-09
  • vue实现瀑布流布局的示例代码

    vue实现瀑布流布局的示例代码

    这篇文章主要为大家详细介绍了如何利用vue实现简单的瀑布流布局,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2023-09-09
  • vue3监听路由的变化代码示例

    vue3监听路由的变化代码示例

    在vue项目中假使我们在同一个路由下,只是改变路由后面的参数值,期望达到数据的更新,这篇文章主要给大家介绍了关于vue3监听路由的变化的相关资料,需要的朋友可以参考下
    2023-09-09
  • vue elementUI Plus实现拖拽流程图的详细代码(不引入插件)

    vue elementUI Plus实现拖拽流程图的详细代码(不引入插件)

    文章介绍了如何使用Vue和elementUI Plus实现一个简单的拖拽流程图功能,不引入任何插件,完全手写,设计思路,感兴趣的朋友跟随小编一起看看吧
    2025-01-01
  • 前端通过vue调用后端接口导出excel表格基本步骤

    前端通过vue调用后端接口导出excel表格基本步骤

    在Vue前端项目中,可通过axios库发送请求至后端获取Excel下载链接,文中通过代码介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-10-10
  • vue中实现页面刷新以及局部刷新的方法

    vue中实现页面刷新以及局部刷新的方法

    这篇文章主要给大家介绍了关于vue中实现页面刷新以及局部刷新的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-01-01
  • 讲解vue-router之什么是动态路由

    讲解vue-router之什么是动态路由

    这篇文章主要介绍了讲解vue-router之什么是动态路由,详细的介绍了什么是动态路由,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • vue3前端导出excel表格的两种实现方法

    vue3前端导出excel表格的两种实现方法

    这篇文章主要给大家介绍了关于vue3前端导出excel表格的两种实现方法,文中通过代码以及图文介绍的非常详细,对大家学习或者使用vue3具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-11-11

最新评论