Vue组件切换和动画,使用Vue提供的component元素实现组件切换

29 篇文章 2 订阅
26 篇文章 0 订阅
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>动画实现组件切换</title>
		<script src="lib/vue.min.js"></script>
		<style type="text/css">
			/* 动画的样式 */
			.v-enter,
			.v-leave-to{
				opacity: 0;
				transform: translateX(150px);
			}
			.v-enter-active,
			.v-leave-active{
				opacity: 1;
				transition: all 0.8s ease; 
			}
		</style>
	</head>
	<body>
		<div id="app">
			<!-- 动态改变name,阻止a链接默认行为,使得引用组件名 -->
			<a href="" @click.prevent="name='login'">登录</a>
			<a href="" @click.prevent="name='register'">注册</a>
			<!-- 设置一个待切换的组件名 -->
			<!-- 做一个切换的动画 modeout-in让动画效果先出去再进来-->
			<transition mode="out-in">
				<component :is="name"></component>
			</transition>
		</div>
		<script>
			// 登录的全局组件
			Vue.component('login',{
				template:'<h3>登录</h3>'
			})
			// 注册的全局组件
			Vue.component('register',{
				template:'<h3>注册</h3>'
			})
			var app=new Vue({
				el:'#app',
				data:{
					// 默认为login组件
					name:'login'
				},
				methods:{
					
				}
			})
		</script>
	</body>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值