钩子函数从before-enter – enter –after-enter-entercancelled也是一个完整的生命周期

  1. <transition
  2.   v-on:before-enter="beforeEnter"
  3.   v-on:enter="enter"
  4.   v-on:after-enter="afterEnter"
  5.   v-on:enter-cancelled="enterCancelled"
  6.  
  7.   v-on:before-leave="beforeLeave"
  8.   v-on:leave="leave"
  9.   v-on:after-leave="afterLeave"
  10.   v-on:leave-cancelled="leaveCancelled"
  11. >
  12.   <!-- ... -->
  13. </transition>

实现购物车案例

  1. <input type="button" value="toggle" @click="flag=!flag"/>
  2.    //使用duration来统一设置入场和离场时候动画
  3.    //还可以分别设置 :duration="{enter:200,leave:400}"
  4.    <transition
  5.        @before-enter="beforeEnter"
  6.        @:enter="enter"
  7.        @:after-enter="afterEnter">
  8.       <div class="ball" v-show="flag"></div>
  9.    </transition>
  10.  
  11.  
  12. var vm=new Vue({
  13.   el: '#app',
  14.   data:{
  15.    flag:false
  16.   },
  17.   methods:{
  18.     //el表示执行动画的那个dom元素,是个元素的dom对象
  19.     //大家可以认为el是通过docoment.getElementById()获取后的dom对象
  20.     beforeEnter(el){
  21.         //beforeEnter表示动画入场之前,此时动画尚未开始,可以在beforeEnter中设置动画开始之前的样式
  22.         el.style.transform="translate(0,0)";
  23.     },
  24.     enter(el,done){
  25.       //动画开始之后的样式
  26.       //这句话没有实际作用,但如果不写动画效果出不来
  27.       //可以认为 el.offsetWidth会强制动画刷新
  28.       el.offsetWidth;
  29.       el.style.transform="translate(150px,450px)";
  30.       el.style.transition="all in ease";
  31.       //写了这个才会调用afterEnter函数,done是一个函数的引用
  32.       done();
  33.     },
  34.     afterEnter(el){
  35.       //动画完成之后调用
  36.        this.flag=!this.flag;
  37.     }
  38.   }
  39. })

vue动画使用javascript钩子函数的更多相关文章

  1. Vue基础进阶 之 Vue生命周期与钩子函数

    Vue生命周期 Vue生命周期:Vue实例从创建到销毁的过程,称为Vue的生命周期: Vue生命周期示意图:https://cn.vuejs.org/v2/guide/instance.html#生命 ...

  2. Vue源码后记-钩子函数

    vue源码的马拉松跑完了,可以放松一下写点小东西,其实源码讲20节都讲不完,跳了好多地方. 本人技术有限,无法跟大神一样,模拟vue手把手搭建一个MVVM框架,然后再分析原理,只能以门外汉的姿态简单过 ...

  3. vue教程2-01 vue生命周期、钩子函数

    vue教程2-01 vue生命周期.钩子函数 <!DOCTYPE html> <html lang="en"> <head> <meta ...

  4. vue组件级路由钩子函数(beforeRouteEnter/beforeRouteUpdate/beforeRouteLeave)

    1.vue组件级路由钩子函数(beforeRouteEnter/beforeRouteUpdate/beforeRouteLeave):http://www.menvscode.com/detail/ ...

  5. Vue 路由知识三(过渡动画及路由钩子函数)

    路由的过渡动画:让路由有过渡动画,需要在<router-view>标签的外部添加<transition>标签,标签还需要一个name属性. <transition nam ...

  6. vue之生命周期钩子函数之运用

    一.什么是生命周期钩子函数: 每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听.编译模板.将实例挂载到 DOM 并在数据变化时更新 DOM 等.同时在这个过程中也会运行 ...

  7. vue学习目录 vue初识 this指向问题 vue组件传值 过滤器 钩子函数 路由 全家桶 脚手架 vuecli element-ui axios bus

    vue学习目录 vue学习目录 Vue学习一之vue初识 Vue学习二之vue结合项目简单使用.this指向问题 Vue学习三之vue组件 Vue学习四之过滤器.钩子函数.路由.全家桶等 Vue学习之 ...

  8. vue生命周期、钩子函数

    https://segmentfault.com/a/1190000011381906    详解生命周期和钩子函数 每个vue实例再被创建之前都要经过一系列的初始化过程,这个过程就是vue的生命周期 ...

  9. vue的生命周期钩子函数

    一.vue生命周期图示 二.钩子函数执行时间 beforeCreate      在创建实例之前,data只声明但没有赋值  在实例初始化之后,数据观测 (data observer) 和 event ...

随机推荐

  1. Codeforces Round #499 (Div. 1)部分题解(B,C,D)

    Codeforces Round #499 (Div. 1) 这场本来想和同学一起打\(\rm virtual\ contest\)的,结果有事耽搁了,之后又陆陆续续写了些,就综合起来发一篇题解. B ...

  2. vue中一些常见错误

    一:在抽取路由模块时路径没有更改过来 二:跨域的问题

  3. Angular学习笔记之组件之间的交互

    1.@Input:可设置属性 当它通过属性绑定的形式被绑定时,值会“流入”这个属性. 在子组件中使用,例如:@Input()name:string 父组件定义宾亮,并在父组件的模板中绑定,例如: 子组 ...

  4. jasper_excel_sheet tab color

    <property name="net.sf.jasperreports.export.xls.sheet.tab.color" value="#00FF00&qu ...

  5. Ubuntu系统下同时打开多个终端窗口的软件

    sudo apt-get install Terminator

  6. Spark编程环境搭建及WordCount实例

    基于Intellij IDEA搭建Spark开发环境搭建 基于Intellij IDEA搭建Spark开发环境搭——参考文档 ● 参考文档http://spark.apache.org/docs/la ...

  7. (三)Redis两种持久化方案

    Redis的持久化策略:2种 RDB方式的持久化是通过快照(snapshotting)完成的,当符合一定条件时Redis会自动将内存中的数据进行快照并持久化到硬盘.RDB是Redis默认采用的持久化方 ...

  8. Entity Framewrok 7beta7中不同版本sql server自动生成分页sql语句的问题

    在EF中,使用linq进行分页是很方便的,假如我们有一个EMP表,结构如下: public class Emp { [Key] public Guid No { get; set; } public ...

  9. Java实例学习——企业进销存管理系统(1)

    Java实例学习——企业进销存管理系统(1) (本实例为书上实例,我所记录的是我的学习过程) 开始时间:2月12日 完成时间:暂未完成 2月12日—选择企业进销存管理系统 选择企业进销存管理系统这一实 ...

  10. Go 微服务实践

    http://www.open-open.com/lib/view/open1473391214741.html