在vue中实现点击type中的文字小图标图片一同变色
时间: 2024-10-24 10:09:21 浏览: 16
Vue实现点击后文字变色切换方法
5星 · 资源好评率100%
在Vue中实现点击文本旁边的小图标的颜色变化,通常需要结合事件监听和CSS样式管理。你可以使用`v-on`指令绑定点击事件,然后通过JavaScript获取元素并改变其样式。下面是一个简单的例子:
首先,在HTML模板中,将文本和图标组合在一起,并给它们添加上一个共同的可操作的`data`属性,如`:active`:
```html
<div>
<span @click="toggleColor" :class="{ active: isActive }">点击我</span>
<img :src="iconSrc" :alt="iconAlt" :class="{ active: isActive }" @click="$event.stopPropagation()">
</div>
```
接下来,在你的Vue组件的script部分中设置状态变量和方法:
```js
export default {
data() {
return {
isActive: false,
iconSrc: '初始图标路径',
iconAlt: '初始图标描述',
};
},
methods: {
toggleColor() {
this.isActive = !this.isActive;
// 如果你想让图标和文本的颜色同步变化,可以在这里更改他们的背景色或其他颜色属性
this.$refs.icon.style.backgroundColor = this.isActive ? '新的颜色' : '默认颜色';
},
},
};
```
注意这里使用了`$event.stopPropagation()`阻止事件冒泡,防止点击图标时触发到文本的点击事件。
阅读全文