vue中的组件切换和切换时的动画

本文介绍了在Vue中实现组件切换的两种方法,并详细讲解了如何在切换过程中添加动画效果,提升用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.第一种切换方式

Vue.component('login',{
	template:'<h1>登录组件</h1>'
})
Vue.component('register',{
	template:'<h1>注册组件</h1>'
})
var vm =new Vue({
	el:'#app',
	data:{
		flag:true
}
})
<div id="app">
	<input type="button" value="登录" @click="flag=true">
	<input type="button" value="注册" @click="flag=false">
	<login v-if="flag"></login>
	<register v-else></register>
</div>

2.第二种切换方式

Vue.component('login',{
	template:'<h1>登录组件</h1>'
})
Vue.component('register',{
	template:'<h1>注册组件</h1>'
})
var vm =new Vue({
	el:'#app',
	data:{
		mycom:''
}
})
<div id="app">
	<input type="button" value="登录" @click="mycom='login'">
	<input type="button" value="注册" @click="mycom='register'">
	<component :is="mycom"></component>
</div>

3.切换动画

<style>
	.v-enter,.v-leave-to{
		opacity:0;
		transform:translateX(150px);
	}
	.v-enter-active,.v-enter-active{
		transition:all 0.4s ease;
	}
</style>
<div id="app">
	<input type="button" value="登录" @click="mycom='login'">
	<input type="button" value="注册" @click="mycom='register'">
	<transition mode="out-in">
		<component :is="mycom"></component>
	</transition>
</div>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值