Vue中的列表过渡

先实现一个点击按钮,然后在列表中添加并显示内容

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Hello World</title>
	<script src="vue.js" type="text/javascript" charset="utf-8"></script>
	<link rel="stylesheet" type="text/css" href="animate.css">
	<script src="jquery-3.3.1.min.js" type="text/javascript" charset="utf-8"></script>
	<script src="velocity.js" type="text/javascript" charset="utf-8"></script>
	<style type="text/css">
		.v-enter, .v-leave-to{
			opacity: 0;
		}
		.v-enter-active, .v-leave-active{
			transition: opacity 1s;
		}
	</style>
</head>
<body>
	<div id="vm">
		<div v-for="(item, index) of list" :key="item.id">{{item.title}}</div>
		<button type="button" @click="handleClick">Add</button>
	</div>
	<script>
		var count = 0;
		var vm = new Vue({
			el: '#vm',
			data: {
				list: []
			},
			methods: {
				handleClick: function() {
					this.list.push({
						id: count++,
						title: 'Hello ReSword'
					});
				}
			}
		});
	</script>
</body>
</html>

现在要实现一个点击列表中某一项,实现列表过渡的效果

实际上和我们做单个元素过渡的效果基本一致

在列表外加一个transition-group

然后再CSS表中填写和元素过渡一样的样式

运行,点击Add发现就有渐现效果出来了

原理是这样的,当你在外部加了transiton-group标签之后,其实里面就会解析成这样

转换成了对单个元素的过渡动画

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值