Vue中的列表过渡
2019-07-16 21:47
1016 查看
<!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列表过渡
- vue transition-group 列表过渡
- vue的列表交错过渡实现代码示例
- Vue列表过渡
- [Vue][V-move]列表进入/离开的平滑过渡,官方教程学习释疑
- Vue 中的动画特效六——Vue中的列表过渡
- Vue.js学习笔记:过渡效果(含列表过渡)
- Vue 列表上下过渡效果的实例代码
- Vue列表过渡
- VUE入门到实战--Vue多个元素或者组件的过渡动画、列表过度,动画封装
- vue中列表增删时的动画过渡效果
- vue 过渡效果-列表过渡
- 详解Vue学习笔记进阶篇之列表过渡及其他
- [Vue] 列表过渡
- Vue中多个元素、组件的过渡及列表过渡的方法示例
- 20181121——Vue中的 进入/离开&列表过渡
- vue学习07--进入/离开&列表过渡
- VUE javascript 复杂列表显示值
- VUE指令-列表渲染v-for
- 关于vue.js过渡css类名的理解(推荐)