视频讲解vue2基础之style样式class类名绑定

11 篇文章 5 订阅

目录

 style样式的动态绑定

class类名动态绑定

一:官方给出的写法

二:自创三元表达式写法


 详细的视频讲解:002vue_样式的动态绑定_哔哩哔哩_bilibili

003vue_样式动态绑定(小案例)_哔哩哔哩_bilibili

 style样式的动态绑定

详细的视频讲解:002vue_样式的动态绑定_哔哩哔哩_bilibili

003vue_样式动态绑定(小案例)_哔哩哔哩_bilibili

style样式的动态绑定是vue中比较常用的一种动态的改变我们标签中的样式属性的一种方法:

:style="*****"
@click="****"

上面是使用的绑定属性,当然我们知道,我们需要一个点击事件作为前台与后台交互的通道。

第一步:

说明:我们现在bgcolor中设置一个默认的颜色值,

然后再通过String(Math.random()).substr(3,6),先将这个math数学函数中的随机数转换成字符串类型,然后再.substr(3,6)截取后台打印的随机数的从第三位开始截取,一直截取6位数,然后我们再从前面加上一个‘#’来把他拼接成一个十六进制的颜色格式并且将他赋值给color,然后将color在赋值给我们vm里面的bgcolor。

最终实现了一个点击时,随机变换颜色的一个效果!!!

第二步:

我们在创建一个前台架构,并写在第一个标签里面,并在dianji事件里面写上一个随机数,当我们点击时颜色中间的数也会随机发生变化!

两步实现:

当我们点击正方形时,颜色会发生随机的改变,同时我们设置再正方形中间的数也会随机的发生改变!!! 

详细的视频讲解:002vue_样式的动态绑定_哔哩哔哩_bilibili

003vue_样式动态绑定(小案例)_哔哩哔哩_bilibili 

静态效果演示:

没点击时:

点击后:

 

 代码实现:

详细的视频讲解:002vue_样式的动态绑定_哔哩哔哩_bilibili

003vue_样式动态绑定(小案例)_哔哩哔哩_bilibili

<template>
    <view>
        <view class="box" :style="{background:bgcolor}" @click="dianji">
			<view class="num">{{qnum}}</view>
		</view>
    </view>
</template>

<script>
	export default {
		data() {
			return {
				bgcolor:"pink",
				
			};
		},
		methods:{
			dianji(){
				//将随机数先转换为字符串类型,然后再从第3个开始截取,截取6个长度
				let color ='#'+String(Math.random()).substr(3,6)
				//实现点击时随机数的一个变化
				let num = String(Math.random()).substr(3,1)
				console.log(color)
				console.log(num)
				this.bgcolor=color
				this.qnum=num
			},
		}
	}
</script>

class类名动态绑定

详细的视频讲解:002vue_样式的动态绑定_哔哩哔哩_bilibili

003vue_样式动态绑定(小案例)_哔哩哔哩_bilibili

class类名动态绑定的用处与上面所讲的style动态绑定的用处一样重要,都是为了像是样式的动态绑定所构造的写法,只不过前者是在标签里面进行书写(特点:简便,适合少数样式的动态绑定)后者是在css中进行书写(特显,适合全体大型布局及多种数量样式的动态绑定)。

一:官方给出的写法

详细的视频讲解:002vue_样式的动态绑定_哔哩哔哩_bilibili

003vue_样式动态绑定(小案例)_哔哩哔哩_bilibili

未点击时

点击后

<view class="***" :class="***" @click="***"></view>

思路说明:

详细的视频讲解:002vue_样式的动态绑定_哔哩哔哩_bilibili

003vue_样式动态绑定(小案例)_哔哩哔哩_bilibili

 我们创建一个名为:box2的样式类,然后再通过:class=" "这个属性绑定我们在return返回值里面的kongzhi1,我们先要把kongzhi1给他一个默认值为:true,然后再通过:class="{box3:kongzhi1}",此时本标签所呈现的初始样式已经是box3的样式,然后我们再给此标签一个点击事件classdianji1,并将里面写为:this.kongzhi1=!this.kongzhi1 意思是当我们每一次点击时都会对我们现在的布尔值进行一个取反,这样就呈现了一个当我们每次点击时box3样式与box2样式一个来回切换的形式!!!

代码实现:

<template>
	<view>
		------------class类名的绑定------------------
		--1--官方给出的方法--实现
		<view class="box2" :class="{box3:kongzhi1}" @click="classdianji1"></view>
</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				kongzhi1:true,
				kongzhi2:true
				
			};
		},
		methods:{
			//class类名绑定事件点击时的变换
			classdianji1(){
				//每一次点击时将kongzhi进行取反,从而实现来回变换的效果
				this.kongzhi1=!this.kongzhi1 
			},
		}
	}
</script>

<style lang="scss">
.box2{
	width: 300rpx;
	height: 300rpx;
	background-color: orange;
}
.box3{
	border-radius: 30px;
	width: 300rpx;
	height: 300rpx;
	background-color: red;
}
</style>

二:自创三元表达式写法

详细的视频讲解:002vue_样式的动态绑定_哔哩哔哩_bilibili

003vue_样式动态绑定(小案例)_哔哩哔哩_bilibili

未点击时 

点击后

 

思路说明:

详细的视频讲解:002vue_样式的动态绑定_哔哩哔哩_bilibili

003vue_样式动态绑定(小案例)_哔哩哔哩_bilibili

其实这个三元表达式的点击事件与上面所讲述的一样。

不同之处:

再标签里面,我们用:class="kongzhi2 ? 'box3' : ''的意思为:当我们在return中设置的值为”真“时就会显示box3如果为”假“时就会显示空,因为我们已将在此标签的最前面定义了一个box2,所以为空时实际上就是显示box2样式!!!

所以综上所述,我们可以结合一个点击事件,每次点击时实现一个取反的过程,就会实现与上面同样的效果!!!

代码实现:

<template>
	<view>
		------------class类名的绑定------------------
		--2--三元表达式--实现
		<view class="box2" :class="kongzhi2 ? 'box3' : '' " @click="classdianji2" ></view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				kongzhi2:true
				
			};
		},
		methods:{
			classdianji2(){
				//每一次点击时将kongzhi进行取反,从而实现来回变换的效果
				this.kongzhi2=!this.kongzhi2 
			}
		}
	}
</script>

<style lang="scss">
.box2{
	width: 300rpx;
	height: 300rpx;
	background-color: orange;
}
.box3{
	border-radius: 30px;
	width: 300rpx;
	height: 300rpx;
	background-color: red;
}
</style>

 

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淼学派对

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值