vue笔记之动画03-列表动画

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
  	<!-- <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css"> -->
  	<link rel="stylesheet" href="animate.min.css">
	<script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script>
	<style type="text/css">
		li{
			border:1px dashed #999;
			margin:5px;
			line-height:35px;
			padding-left:5px;
			width:100%;
		}
		li:hover{
			background:hotpink;
			transition: all 0.4s ease;
		}
		.v-enter,
		.v-leave-to{
			opacity: 0;
			transform:translateY(80px);
		}
		.v-enter-active,
		.v-leave-active{
			transition: all 0.6s ease;

		}
		/*.v-move和.v-leave-active配合使用,能够实现列表后续的元素渐渐飘上来*/
		.v-move{
			transition: all 0.6s ease;
		}
		.v-leave-active{
			position: absolute;
		}
	</style>
</head>
<body>
	<div id="app">
		<div>
			<label>
				id:
				<input type="text" name="" v-model="id">
			</label>
			<label>
				name:
				<input type="text" name="" v-model="name">
			</label>
			<input type="button" value="添加" @click="add">
		</div>
		<!-- <ul> -->
			<!-- 在实现列表过度的时候,如果需要过渡的元素是通过v-for循环渲染出来的,不能使用transition包裹,需要使用transitionGroup -->
			<!-- 如果要为v-for循环创建的元素设置动画,必须为每一个元素设置:key属性 -->
			<!-- transition-group添加appear实现入场的时候动画 -->
			<!-- 通过为transition-group元素,设置tag属性,指定transition-group渲染为指定的元素,默认是span标签 -->
			<transition-group appear tag="ul">
				<li v-for="item in list" :key="item.id" @click="del(i)"> 
					{{item.id}}----{{item.name}}
				</li>
			</transition-group>
			
		<!-- </ul> -->
		
	</div>
	<script>
		
		var vm = new Vue ({
			el:'#app',
			data:{
				id:"",
				i:'',
				name:"",
				list: [
					{ id:1,name:'赵高' },
					{ id:2,name:'秦桧' },
					{ id:3,name:'严崇' },
					{ id:4,name:'魏忠贤' },
				]
				
			},
			methods: {
				add () {
					this.list.push({id:this.id,name:this.name});
					this.id="";
					this.name="";
				},
				del (i) {
					this.list.splice(i,1)
				}
			}

		});
		
	</script>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值