<!DOCTYPE html> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" type="text/css" href="./animate.css"> <script src="./vue.js"></script> <!-- <script src="http://cdn.staticfile.org/vue/2.6.10/vue.common.dev.js"></script> --> </head> <body> <div id="root"> //性能考虑,尽量不用index作为key值 <br> <div v-for="(item) of list" :key="item.id"> {{item.title}} </div> <button @click="handBtnClick">add</button> </div> <script type="text/javascript"> var count = 0; var vm = new Vue({ el: "#root", data: { list: [] }, methods: { handBtnClick: function() { this.list.push({ id: count++, title: "hello" }); } } }); </script> </body> </html>
之前是对单个或多个元素之间做切换动画效果,现在,对一个列表过渡效果,用标签<transition-group>:
创新互联专注于海沧企业网站建设,成都响应式网站建设公司,商城网站制作。海沧网站建设公司,为海沧等地区提供建站服务。全流程按需定制制作,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
<!DOCTYPE html> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" type="text/css" href="./animate.css"> <script src="./vue.js"></script> <!-- <script src="http://cdn.staticfile.org/vue/2.6.10/vue.common.dev.js"></script> --> <style type="text/css"> /*因为没有给它命名,所以用默认v开头的class名*/ .v-enter, .v-leave-to { opacity: 0; } .v-enter-active, .v-leave-active { transition: opacity 1s; } </style> </head> <body> <div id="root"> //性能考虑,尽量不用index作为key值 <br> <transition-group> <div v-for="(item) of list" :key="item.id"> {{item.title}} </div> </transition-group> <button @click="handBtnClick">add</button> </div> <script type="text/javascript"> var count = 0; var vm = new Vue({ el: "#root", data: { list: [] }, methods: { handBtnClick: function() { this.list.push({ id: count++, title: "hello" }); } } }); </script> </body> </html>
为啥上面的效果是增加的都有渐显效果呢?
用一对<transition-group>标签包裹
<transition-group>
<div>hello</div>
<div>hello</div>
<div>hello</div>
</transition-group>
相当于每一个都用一对<transition>标签包裹
<transition>
<div>hello</div>
</transition>
<transition>
<div>hello</div>
</transition>
<transition>
<div>hello</div>
</transition>
当前标题:Vue中的列表过渡
网站链接:https://www.cdcxhl.com/article40/jeeeho.html
成都网站建设公司_创新互联,为您提供网站导航、品牌网站建设、微信小程序、搜索引擎优化、自适应网站、电子商务
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联