在Vue项目中使用vue自带的过渡组件transition.

在Vue项目中使用vue自带的过度组件transition.

Vue 提供了 transition 的封装组件,在下列情形中,可以给任何元素和组件添加进入/离开过渡
使用需求:
条件渲染 (使用 v-if)
条件展示 (使用 v-show)
动态组件
组件根节点
在进入/离开的过渡中,会有 6 个 class 切换。

在我们使用组件transition时.需要配合css样式进行设置使用.

v-enter-from
定义进入过渡的开始状态。在元素被插入之前生效,在元素被插入之后的下一帧移除。
v-enter-active
定义进入过渡生效时的状态。在整个进入过渡的阶段中应用,在元素被插入之前生效,在过渡/动画完成之后移除。这个类可以被用来定义进入过渡的过程时间,延迟和曲线函数。
v-enter-to
2.1.8 版及以上定义进入过渡的结束状态。在元素被插入之后下一帧生效 (与此同时 v-enter 被移除),在过渡/动画完成之后移除。
v-leave-from
定义离开过渡的开始状态。在离开过渡被触发时立刻生效,下一帧被移除。
v-leave-active
定义离开过渡生效时的状态。在整个离开过渡的阶段中应用,在离开过渡被触发时立刻生效,在过渡/动画完成之后移除。这个类可以被用来定义离开过渡的过程时间,延迟和曲线函数。
v-leave-to
2.1.8 版及以上定义离开过渡的结束状态。在离开过渡被触发之后下一帧生效 (与此同时 v-leave 被删除),在过渡/动画完成之后移除。

对于这些在过渡中切换的类名来说,如果你使用一个没有名字的 <transition>,则 v- 是这些class名的默认前缀。如果你使用了 <transition name="my-transition">,那么 v-enter-from会替换为 my-transition-enter-from。
v-enter-activev-leave-active 可以控制进入/离开过渡的不同的缓和曲线,

案例1:使用无名transition组件(即没有使用name属性)

<!--html区域-->
<transition>
	<p v-show="visible">{{message}}</p>
</transition>
<button @click="handleToggle">显示/隐藏</button>
// javascript区域
// 这里使用vue3的语法进行书写,还未看过的人可以先去了解vue3语法
import { ref } from 'vue'
setup(){
	let message=ref('Hello,Vue');
	const handleToggle=()=>{
		message.value=!message.value;
	}
	return {
		message,
		handleToggle
	}
}
<!--css区域-->
.v-enter-active,.v-leave-active{
	transition:opacity 5s;
}
.v-enter,.v-leave-to{
	opacity:0;
}
.v-leave,.v-enter-to{
	opacity:1;
}

案例2:使用具名transition组件(即,使用name属性)

<!--html区域-->
<transition name="fades>
	<p v-show="visible">{{message}}</p>
</transition>
<button @click="handleToggle">显示/隐藏</button>
// javascript区域
// 这里使用vue3的语法进行书写,还未看过的人可以先去了解vue3语法
import { ref } from 'vue'
setup(){
	let message=ref('Hello,Vue');
	const handleToggle=()=>{
		message.value=!message.value;
	}
	return {
		message,
		handleToggle
	}
}
<!--css区域-->
<!--具名transition组件的区别在于,书写css时,需要将默认的.v替换为自己设置的.name属性值-->
.fades-enter-active,.v-leave-active{
	transition:opacity 5s;
}
.fades-enter,.v-leave-to{
	opacity:0;
}
.fades-leave,.v-enter-to{
	opacity:1;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值