使用uniapp,开发vue页面,通过不同的颜色按钮或者颜色输入框,切换页面内其它元素的颜色或者背景色,写一个完整代码,并给出解释
时间: 2024-05-31 18:07:20 浏览: 100
vue实现点击按钮切换背景颜色的示例代码
5星 · 资源好评率100%
代码如下:
<template>
<view class="container">
<view class="color-btns">
<view class="color-btn" :style="{ backgroundColor: '#f00' }" @click="changeColor('#f00')"></view>
<view class="color-btn" :style="{ backgroundColor: '#0f0' }" @click="changeColor('#0f0')"></view>
<view class="color-btn" :style="{ backgroundColor: '#00f' }" @click="changeColor('#00f')"></view>
</view>
<view class="color-input">
<input type="color" @change="changeColor($event.target.value)" />
</view>
<view class="colorful-text" :style="{ color: textColor, backgroundColor: bgColor }">
{{ message }}
</view>
</view>
</template>
<script>
export default {
data() {
return {
message: 'Hello, world!',
textColor: '#000',
bgColor: '#fff'
}
},
methods: {
changeColor(color) {
if (color.charAt(0) === '#') {
this.textColor = color
} else {
this.bgColor = color
}
}
}
}
</script>
<style>
.container {
display: flex;
flex-direction: column;
align-items: center;
}
.color-btns {
display: flex;
margin-bottom: 20px;
}
.color-btn {
width: 50px;
height: 50px;
margin-right: 10px;
border-radius: 25px;
}
.color-input {
margin-bottom: 20px;
}
.colorful-text {
display: flex;
justify-content: center;
align-items: center;
width: 200px;
height: 200px;
font-size: 30px;
border-radius: 100px;
}
</style>
解释:
1. 页面分为三个部分:颜色按钮、颜色输入框和彩色文本。
2. 颜色按钮和颜色输入框用于切换文本和背景颜色。
3. 彩色文本的颜色和背景色绑定到 data 中的 textColor 和 bgColor。
4. 点击颜色按钮或输入颜色值时,调用 changeColor 方法,根据传入的颜色值判断是修改 textColor 还是 bgColor。
5. 彩色文本的样式通过 :style 绑定到 textColor 和 bgColor。
6. 样式中使用 flex 布局,使页面元素居中。
7. 颜色按钮使用圆形样式,通过 border-radius 实现。
阅读全文