温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

vue怎么动态绑定多个类名

发布时间:2022-11-14 10:08:36 来源:亿速云 阅读:141 作者:iii 栏目:开发技术

本文小编为大家详细介绍“vue怎么动态绑定多个类名”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue怎么动态绑定多个类名”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

    问题描述:

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

    固定绑定多个类名方法:

    vue怎么动态绑定多个类名

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

    方式一:

     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怎么动态绑定多个类名”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    vue
    AI