vue中在方法中已改变css
时间: 2024-05-09 22:20:36 浏览: 8
Vue 中可以通过以下方式改变 CSS:
1. 绑定 class 和 style 属性
在 Vue 中,可以使用 `class` 和 `style` 属性来动态绑定 CSS 样式。
例如,可以在模板中使用 `v-bind:class` 绑定一个动态 class:
```html
<template>
<div v-bind:class="{ active: isActive }"></div>
</template>
```
在上面的代码中,`isActive` 是一个 data 中的布尔值,`active` 是一个 CSS class,如果 `isActive` 为 true,那么这个 div 元素就会添加 `active` class。
类似地,可以使用 `v-bind:style` 来绑定一个动态的 style 对象:
```html
<template>
<div v-bind:style="{ color: textColor, fontSize: fontSize + 'px' }"></div>
</template>
```
在上面的代码中,`textColor` 和 `fontSize` 都是 data 中的属性,它们分别控制文本颜色和字体大小。
2. 使用计算属性
Vue 中还可以使用计算属性来动态生成 CSS 样式。
例如,可以定义一个计算属性 `textStyle`,来返回一个动态的 style 对象:
```javascript
<script>
export default {
data() {
return {
textColor: 'red',
fontSize: 20,
};
},
computed: {
textStyle() {
return {
color: this.textColor,
fontSize: this.fontSize + 'px',
};
},
},
};
</script>
```
在上面的代码中,`textStyle` 返回一个动态的 style 对象,这个对象会根据 `textColor` 和 `fontSize` 的值自动更新。
然后,可以在模板中使用 `v-bind:style` 绑定这个计算属性:
```html
<template>
<div v-bind:style="textStyle"></div>
</template>
```
在上面的代码中,`textStyle` 计算属性返回的动态 style 对象会绑定到这个 div 元素上。
总之,在 Vue 中,可以使用以上两种方式来动态生成 CSS 样式。