vue中设置class的多种方式

class可以绑定对象数组和函数等
<!-- 第一种:数组 直接传递一个数组,注意:这里的class需要使用 v-moddel 做数据绑定 -->
33   <h1 :class="['red', 'thin']">第一种:数组 了解</h1>
34   <!-- 第二种:数组中使用三元表达式 -->
35   <h1 :class="['red', flag? 'active':'']">第二种:数组中使用三元表达式</h1>
36   <!-- 第三种:数组中嵌套对象 在数组中 使用对象替代三元表达式,提高代码可读性-->
37   <h1 :class="['red', 'italic', {'active' : flag}]">第三种:数组中嵌套对象</h1>
38   <!-- 第四种:直接使用对象 在为class 使用 V-bind 绑定对象的时候,对象的属性是类名,
39   由于对象属性可带引号也可不带引号,所以这里没有写引号;属性的值 是一个标识符 -->
4 <h1 :class="{red:true, thin:true, italic:true, active:false}">第四种:直接使用对象</h1>
41   <h1 :class="classObj">第四种:直接使用对象</h1>

class还可以和静态的class共存

 <li 
 	class="cla1" 
 	:class="setClass(item.status)" 
 	v-for="(item, index) in dataLists1" 
 	:key="index" >
 </li>
// 将class赋值给方法,动态生成对象
    setClass (item) {
      let obj = {};
      obj[type[item]] = true;
      return obj;
    },
 
export const type = {
  1: 'red',
  2: 'yellow',
  3: 'green',
  4: 'blue',
  5: 'purple',
  all: 'pink'
}
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue动态设置class多种方式。以下是一些常用的方法: 1. 使用对象语法:您可以根据条件动态添加或删除class。在模板,您可以使用v-bind来绑定一个对象,该对象的键是class名,值是一个布尔值,用于指示是否应该应用该class。例如: ```html <div v-bind:class="{ 'active': isActive, 'error': hasError }"></div> ``` 在上面的例子,如果isActive为true,则会添加active class;如果hasError为true,则会添加error class。 2. 使用数组语法:您可以将一个包含class名的数组绑定到v-bind:class,这样可以根据多个条件动态设置class。例如: ```html <div v-bind:class="[isActive ? 'active' : '', hasError ? 'error' : '']"></div> ``` 在上面的例子,如果isActive为true,则添加active class;如果hasError为true,则添加error class。 3. 使用计算属性:您可以创建一个计算属性来返回一个对象或数组,并将其绑定到v-bind:class。计算属性可以根据不同的条件返回不同的class名。例如: ```html <div v-bind:class="classObject"></div> ``` ```javascript data() { return { isActive: true, hasError: false } }, computed: { classObject() { return { 'active': this.isActive, 'error': this.hasError } } } ``` 在上面的例子,如果isActive为true,则添加active class;如果hasError为true,则添加error class。 这些是Vue动态设置class的几种常用方法,您可以根据自己的需求选择适合的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值