本例要结合过渡动画四个过程的示意图一起理解。

https://cn.vuejs.org/v2/guide/transitions.html

疑问:

v-for="(item,i) in list"     del(i) 传参不传id,改成i ,这个是什么用法?

  <style>
li{
border: 1px dashed #999;
margin: 5px;
padding: 5px;
line-height: 25px;
font-size: 12px;
width: 800px;
}
li:hover{
background-color: hotpink;
transition: all 0.8s ease;
}
.v-enter,.v-leave-to {
/* .v-enter, .v-leave-to 设置的过渡样式
自动赋给transition 或 transitiongroup标签了 */
opacity: 0;
transform: translateY(80px);
}
.v-enter-active, .v-leave-active {
/* .v-enter-active, .v-leave-active 设置的过渡样式
自动赋给transition 或 transitiongroup标签了 */
transition: all 0.6s ease;
}
.v-move{
transition: all 0.6s ease;
}
/* v-move 特性。会在元素的改变定位的过程中应用。
比如列表中有元素被删除,其他元素会上移
设置了v-move就会在这起作用. */ .v-leave-active{
position: absolute;
/* 当元素设置了 absolute 后,默认就不是100%的宽度了,而是内容多宽就是多宽
所以要给li元素设置一下宽度. */
}
/* 用splice删除数组的元素,由于删除的元素经历了一个过渡,始终占据文档流的这个位置,
因此下一个元素要等待其过渡消失后再移动过来,造成一个生硬的效果。 要达到平滑过渡,就要在删除元素leave-active阶段,
用position:absolute 让删除的元素脱离文档流,后面的元素才能同时平滑过渡过来。
*/
</style>
</head>
<body>
<div id="app">
ID:<input type="text" v-model="id">
NAME:<input type="text" v-model="name">
<input type="button" value="添加" @click="add()"> <!-- 通过 appear 特性设置节点的在初始渲染的过渡
也就是页面刚加载的时候,实现过渡动画 -->
<transition-group tag="ul" appear>
<li v-for="(item,i) in list" @click="del(i)" :key="item.id">
<!-- v-for="(item,i) in list"
del(i) 传参不传id,改成i ??? 这个是什么用法-->
{{item.id}} --- {{item.name}}
</li>
</transition-group>
</div> <script>
var vm = new Vue({
el:'#app',
data:{
id:'',
name:'',
list:[
{id:1, name:'赵高'}, // list里用到的id name 等,要先定义在data
{id:2, name:'秦桧'},
{id:3, name:'严嵩'},
{id:4, name:'魏忠贤'}
]
},
methods:{
add(el){
this.list.push({id:this.id, name:this.name});
this.id = this.name = '';
},
del(i){
this.list.splice(i,1); // i 的用法??
},
},
});
</script>
</body>

VUE笔记 - 列表过渡动画 v-enter, v-leave-to | v-enter-active, v-leave-active | v-move的更多相关文章

  1. iOS学习笔记-自定义过渡动画

    代码地址如下:http://www.demodashi.com/demo/11678.html 这篇笔记翻译自raywenderlick网站的过渡动画的一篇文章,原文用的swift,由于考虑到swif ...

  2. vue 过渡效果-列表过渡

    到目前为止,关于过渡我们已经讲到, 单个节点 同一时间渲染多个节点的一个 那么怎么同时渲染整个列表,比如使用v-if?在这种场景下,使用<transition-group>组件,在我们深入 ...

  3. vue.js之过渡动画

    vue提供了一个封装动画的组件 <transition name="tr"></transition>,将需要执行动画的元素包裹在该组件中,在通过css修改 ...

  4. Vue.js 之 过渡动画

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 058_末晨曦Vue技术_过渡 & 动画之过渡的类名

    进入/离开 & 列表过渡 点击打开视频讲解更加详细 概述 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.包括以下工具: 在 CSS 过渡和动画中自动应用 class ...

  6. Vue - 解决路由过渡动画抖动问题

    前言 Vue-Router 作为 Vue 的核心模块,它为我们提供了基于组件的路由配置.路由参数等功能,让单页面应用变得更易于管理.良好的路由管理尤为重要,比如路由拦截.路由懒加载.路由权限等都在开发 ...

  7. 066_末晨曦Vue技术_过渡 & 动画之多个元素的过渡

    多个元素的过渡 点击打开视频讲解更加详细 我们之后讨论多个组件的过渡,对于原生标签可以使用 v-if/v-else.最常见的多标签过渡是一个列表和描述这个列表为空消息的元素: <transiti ...

  8. vue笔记-列表渲染

    用v-for把一个数组对应为一组元素 使用方法:v-for="(item,index) in items"//也可以使用of替代in { items:源数组 item:数组元素迭代 ...

  9. Vue中Js动画 与Velocity.js 多组件多元素 列表过渡

    Vue提供我们很多js动画钩子 写在tansition标签内部 入场动画 @before-enter="" 处理函数收到一个参数(e l) el为这个元素 @enter=" ...

随机推荐

  1. 微信小程序官方文档中的加密算法

    用Nodejs来算一下:

  2. 【Docker构建私有仓库】

    Docker默认不允许非HTTPS方式推送镜像,我们可以通过Docker的配置选项来取消此限制: [root@fedora ~]# cat /etc/docker/daemon.json { &quo ...

  3. COGS——T 7. 通信线路

    http://www.cogs.pro/cogs/problem/problem.php?pid=7 ★★   输入文件:mcst.in   输出文件:mcst.out   简单对比时间限制:1.5 ...

  4. 洛谷 P2080 增进感情

    P2080 增进感情 题目背景 小明和小红的感情,是慢慢发展起来的. 题目描述 他们对对方分别有一个好感值.定义两人的亲密程度为两人的好感值之和. 如果他们的亲密程度达到V,则他们将走到一起.他们以后 ...

  5. 模板实参推导 & xx_cast的实现

    首先,类模板必须被显式特化.当然了,可以通过一个辅助函数,通过参数类型,返回特化的类模板,来间接处理. 这个技术被广泛应用在ptr_fun, make_pair, mem_fun, back_inse ...

  6. OR1200处理器中Wishbone总线接口模块WB_BIU介绍

    下面内容摘自<步步惊芯--软核处理器内部设计分析>一书 WB_BIU模块是OR1200处理器与外部Wishbone总线连接的接口模块.15.1节给出了WB_BIU模块的对外连接关系,并指出 ...

  7. 下载eclipse详细步骤

    先登陆eclipse的官网 然后点击红色箭头进行选择你电脑是32还是64位的 根据自己的需求下载 然后点击下载 这里下载的是安装包,你要进行压缩.安装时一定要好相应的jdk要不然就会报错 这上面的错误 ...

  8. 如何覆盖GCE的DHCP MTU选项

     如何覆盖GCE的DHCP MTU选项 在GCE上托管的Linux IPSec隧道不能打开谷歌,这与MTU有关.谷歌管理员认为"改变这个值是一件困难的事情"https://cl ...

  9. 浏览器(BOM)对象的一些内置方法总结

    浏览器(BOM)对象的一些内置方法总结 一.总结 1.bom就是浏览器那端执行的代码,dom就是服务器那端操作html的代码 2.记好bom的几个对象,那就很好理解很多代码了,也很好写很多代码了 二. ...

  10. Android SecurityException

    public boolean checkNetwork() { boolean result = false; try { Context context = this.getApplicationC ...