uniapp动态改变样式
时间: 2023-07-20 19:36:24 浏览: 103
uniapp 实现更换主题皮肤
可以通过以下几种方式动态改变uniapp中的样式:
1. 使用v-bind:style绑定样式对象,通过改变样式对象的属性来动态改变样式,例如:
```
<template>
<view v-bind:style="styleObject"></view>
</template>
<script>
export default {
data() {
return {
styleObject: {
backgroundColor: 'red',
color: 'white',
}
}
},
methods: {
changeStyle() {
this.styleObject.backgroundColor = 'blue';
}
}
}
</script>
```
2. 使用计算属性动态生成样式对象,例如:
```
<template>
<view v-bind:style="computedStyle"></view>
</template>
<script>
export default {
data() {
return {
backgroundColor: 'red',
color: 'white',
}
},
computed: {
computedStyle() {
return {
backgroundColor: this.backgroundColor,
color: this.color,
}
}
},
methods: {
changeStyle() {
this.backgroundColor = 'blue';
}
}
}
</script>
```
3. 使用class绑定动态改变样式,例如:
```
<template>
<view :class="{'red-background': isRedBackground}"></view>
</template>
<style>
.red-background {
background-color: red;
}
</style>
<script>
export default {
data() {
return {
isRedBackground: true,
}
},
methods: {
changeStyle() {
this.isRedBackground = false;
}
}
}
</script>
```
以上是uniapp中动态改变样式的几种方式,具体可以根据实际情况选择适合的方式。
阅读全文