vue 动态移除掉class
时间: 2023-10-05 08:11:53 浏览: 155
要动态移除Vue组件或元素上的class,可以使用以下几种方法:
1. 使用对象语法:
你可以通过在class属性上绑定一个对象,对象的属性是需要应用的class,属性值为布尔值,true表示应用该class,false表示移除该class。
```html
<template>
<div :class="{ 'is-active': isActive }"></div>
</template>
<script>
export default {
data() {
return {
isActive: true
};
},
methods: {
removeClass() {
this.isActive = false;
}
}
};
</script>
```
2. 使用数组语法:
你可以使用数组语法,在class属性上绑定一个数组,数组的元素是需要应用的class,可以通过计算属性或方法返回一个数组。
```html
<template>
<div :class="getClassNames"></div>
</template>
<script>
export default {
computed: {
getClassNames() {
let classes = ['base-class'];
if (this.isActive) {
classes.push('active-class');
}
return classes;
}
},
data() {
return {
isActive: true
};
}
};
</script>
```
3. 使用方法:
你可以在methods中定义一个方法,通过操作DOM来添加或删除class。
```html
<template>
<div ref="myElement"></div>
</template>
<script>
export default {
mounted() {
this.removeClass();
},
methods: {
removeClass() {
const element = this.$refs.myElement;
element.classList.remove('my-class');
}
}
};
</script>
```
这些方法都可以用来动态移除Vue组件或元素上的class,根据你的需求选择其中一种即可。
阅读全文