vue项目点击元素后如何改变样式

 更新时间:2023年10月10日 14:35:32   作者:曹家小乐乐  
这篇文章主要介绍了vue项目点击元素后如何改变样式问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue项目点击元素后改变样式

点击元素都改变其样式的步骤

示例:

想实现点击产品名称时其颜色变为蓝色:

点击前:

点击后样式改变:

使用步骤

1.在template显示的数据中添加单击事件和样式绑定:

代码如下(示例代码为uniapp):

<view class="z-tr" v-for="(item,index) in productList" :key="item.id">
	  <view class="z-td">{{index + 1 }}</view>
	  <view class="z-td" :class="{'visited':isvisited==index}" @click="visitfun(index)">{{ item.productname }}</view>
	  <view class="z-td text-green">{{ item.successmessage }}</view>
	  <view class="z-td text-red">{{ item.faillmessage }}</view>
 </view>

2.data数据层:

代码如下(示例):

注意:

isvisited:-1时候默认不选中任何元素。等于isvisited:0 默认选中第一个元素

data() {
		return {
			isvisited: -1,
			}
		}

3.methods添加事件:

methods: {
	visitfun(index){
		this.isvisited=index;
	},
}

4.在style中设置想要改变的样式,这里就只是将字体设置成蓝色:

<style>
	.visited{
			color: blue;
		}
</style>

vue动态更改元素样式

在vue项目开发中,好多地方需要动态去改变元素的样式,例如:更改元素class名去更换元素的样式,或更改元素的style去更改元素样式。

元素的显示、隐藏、大小、颜色等,也可以配合vuex使用实现类似主题话的更改。

动态更改style

通过style取值为变量来实现动态控制样式的效果

<template>
  <div :style="{background:yanse,width:kuai,height:gao+'px'}">
  </div>
</template>
<script>
export default {
    data(){
        return{
            yanse:"red",
            kuai:"100px",
            gao:100
        }
    }
}
</script>
<style>
</style>

通过class名去更改元素样式

通过三目运算符来实现元素样式的切换

<template>
  <div :class='state?"red":"blue"'>
  </div>
</template>
<script>
export default {
    data(){
        return{
            state:true,
        }
    }
}
</script>
<style>
    .red{
        width: 100px;
        height: 100px;
        background: red;
    }
    .blue{
        width: 100px;
        height: 100px;
        background: blue;
    }
</style>

升级用法

我们项目开发中可能遇到用户自定义主题颜色的需求,我们可以通过vuex来实现全局颜色的更改,将颜色作为一个变量存储在vuex中,通过更改vuex变量的值,实现全局样式的更改。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue实现浏览器全屏展示功能

    vue实现浏览器全屏展示功能

    这篇文章主要介绍了vue实现浏览器全屏展示功能,项目中使用的是sreenfull插件,执行命令安装,具体实现代码跟随小编一起看看吧
    2019-11-11
  • vue+tsc+noEmit导致打包报TS类型错误问题及解决方法

    vue+tsc+noEmit导致打包报TS类型错误问题及解决方法

    当我们新建vue3项目,package.json文件会自动给我添加一些配置选项,这写选项基本没有问题,但是在实际操作过程中,当项目越来越复杂就会出现问题,本文给大家分享vue+tsc+noEmit导致打包报TS类型错误问题及解决方法,感兴趣的朋友一起看看吧
    2023-10-10
  • vue基于input实现密码的显示与隐藏功能

    vue基于input实现密码的显示与隐藏功能

    这篇文章主要介绍了vue基于input实现密码的显示与隐藏功能,文末给大家介绍了vue 如何实现切换密码的显示与隐藏效果,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-01-01
  • element step组件在另一侧加时间轴显示

    element step组件在另一侧加时间轴显示

    本文主要介绍了element step组件在另一侧加时间轴显示,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Vue项目依赖包安装及配置过程

    Vue项目依赖包安装及配置过程

    这篇文章主要介绍了Vue项目依赖包安装及配置过程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-12-12
  • vue拦截器组件的使用方式

    vue拦截器组件的使用方式

    这篇文章主要介绍了vue拦截器组件的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • vue中进入详情页记住滚动位置的方法(keep-alive)

    vue中进入详情页记住滚动位置的方法(keep-alive)

    今天小编就为大家分享一篇vue中进入详情页记住滚动位置的方法(keep-alive),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • vant中的picker选择器自定义选项内容

    vant中的picker选择器自定义选项内容

    这篇文章主要介绍了vant中的picker选择器自定义选项内容,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • 浅析Proxy可以优化vue的数据监听机制问题及实现思路

    浅析Proxy可以优化vue的数据监听机制问题及实现思路

    这篇文章主要介绍了浅析Proxy可以优化vue的数据监听机制问题及实现思路,需要的朋友可以参考下
    2018-11-11
  • element中TimePicker时间选择器禁用部分时间(显示禁用到分钟)

    element中TimePicker时间选择器禁用部分时间(显示禁用到分钟)

    这篇文章主要介绍了element中TimePicker时间选择器禁用部分时间(显示禁用到分钟),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03

最新评论