vue 动态添加class类名

 

<template>
  <div>
    <h2>动态添加类名</h2>


    <!-- 第一种方式:对象的形式 -->
    <!-- 第一个参数 类名, 第二个参数:boolean值 -->
    <!-- 对象的形式: 用花括号包裹起来,类名用引号, -->
    <!-- 优点: 以对象的形式可以写多个,用逗号分开 -->
    <p :class="{'p1' : true}">对象的形式(文字的颜色)</p>
    <p :class="{'p1' : false, 'p': true}">对象的形式(文字的颜色)</p>


    <!-- 第二种方式:三元表达式 注意点:放在数组中,类名要用引号-->
    <p :class="[ 1 < 2 ? 'p1' : 'p' ]" >三元表示式(文字的颜色)</p>


    <!-- 第三种方式: 数组的形式 -->
    <p :class="[isTrue, isFalse]">数组的形式(文字的颜色)</p>

    <!-- 数组中用对象 -->
    <p :class="[{'p1': false}, isFalse]">数组中使用对象(文字的颜色)</p>


 <!--补充: class中还可以传方法,在方法中返回类名-->
 <p :class="setClass">通过方法设置class类名</p>
  </div>
</template>

<script>
  export default {
    data () {
      return {
        isTrue: 'p1',
        isFalse: 'p'
      };
    },

 method: {
 setclass () {
    return 'p1';
   }
 }
  }
</script>
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue动态添加class类名可以通过以下方式实现: 1. 使用对象语法: 你可以使用一个对象来指定需要添加class类名,对象的key为类名,value为一个布尔值,如果该值为真,则添加对应的类名,如果为假,则不添加对应的类名。 ```html <template> <div :class="{ 'active': isActive, 'highlight': isHighlighted }"></div> </template> <script> export default { data() { return { isActive: true, isHighlighted: false }; } }; </script> <style> .active { color: red; } .highlight { background-color: yellow; } </style> ``` 在上面的例子中,当isActive为true时,div元素会添加active类名,从而应用red颜色样式;当isHighlighted为false时,div元素不会添加highlight类名,从而不应用yellow背景色样式。 2. 使用数组语法: 你可以使用一个数组来指定需要添加class类名,数组中的每个元素都可以是一个字符串或一个动态绑定的数据。 ```html <template> <div :class="[activeClass, errorClass]"></div> </template> <script> export default { data() { return { activeClass: 'active', errorClass: 'error' }; } }; </script> <style> .active { color: red; } .error { border: 1px solid red; } </style> ``` 在上面的例子中,div元素会同时添加active和error类名,从而应用red颜色样式和红色边框样式。 3. 使用计算属性: 你可以利用计算属性来动态计算需要添加class类名。 ```html <template> <div :class="computedClass"></div> </template> <script> export default { data() { return { isActive: true, isHighlighted: false }; }, computed: { computedClass() { return { 'active': this.isActive, 'highlight': this.isHighlighted }; } } }; </script> <style> .active { color: red; } .highlight { background-color: yellow; } </style> ``` 在上面的例子中,计算属性computedClass会根据isActive和isHighlighted的值动态返回一个对象,然后该对象会被应用到div元素的class属性上。 以上是在Vue动态添加class类名的几种常见方式,你可以根据具体场景选择合适的方式来实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值