当前位置: 首页 > news >正文

vue.js过渡效果之--javascript钩子

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

vue.js过渡效果之--javascript钩子

 

写在前面

姊妹篇  vue.js之过渡效果-css。今天一篇博文阅读量破300,心里还是有点小激动的。没错,我就是这么容易满足(害羞)。这个数据可能连大牛一篇文章阅读量的零头都没有,但这却是我个人的一大步,因为我在帮助别人。当然我没少受到别人文章的帮助。我想,也是大家这种乐于分享的心态让编程在一堆代码后面变得更加有人情味,前端变得更有意思。

什么是钩子

我当初看到钩子这个东西的时候也是一头雾水,尽管钩子这个翻译最初可能是想平易近人的,不让人望而生畏的。现在,就我的理解来说,钩子函数就像埋在一条道路上的一个个地雷,当达到某个状态的时候就会触发。

以实例生命周期为例,把实例想象成一个人,一个实例的生命周期包括beforeCreate(出生前),created(胚胎阶段),beforemount(分娩前),mounted(出生了),beforedestroy(挂之前),destroyed(挂了)等,中间还有若干次update。这些阶段就是可以放钩子地雷的地方,哦,钩子函数的地方。

再细化场景:要做一个天气组件,数据要从api利用ajax请求得到,然后渲染到视图,那么这个工作就要在组件生命周期的created阶段进行,(

  • created:实例已经创建完成之后被调用。在这一步,实例已完成以下的配置:数据观测(data observer),属性和方法的运算, watch/event 事件回调。然而,挂载阶段还没开始,$el 属性目前不可见。

)否则在mounted,挂载到元素上时就会因为没有数据而报错。这就要给created挂一个函数,让Vue在这个阶段调用,去请求ajax。像下面这样:
 

created:function() { 
            this.getWeather();//钩子函数,组件创建完成时调用getWeather方法获取天气信息

        }

 

过渡的钩子

 一个元素出现的过渡包括四个节点:before-enter,enter,after-enter,enter-cancelled,分别代表开始出现前,出现中,出现后。元素的离开也一样。借助V-on可以在这些节点挂载钩子函数,用于在元素过渡的各节点触发这些函数。

出现前主要用于配置一些参数:如将opacity设置为0,enter是进入的动画过程函数。同理before-leave是离开前的状态设置,leave对应的是消失的过程函数

以上钩子函数会被传入被过渡元素el作为第一个参数。

复制代码

//来自官网的代码
<transition
  v-on:before-enter="beforeEnter"
  v-on:enter="enter"
  v-on:after-enter="afterEnter"
  v-on:enter-cancelled="enterCancelled"

  v-on:before-leave="beforeLeave"
  v-on:leave="leave"
  v-on:after-leave="afterLeave"
  v-on:leave-cancelled="leaveCancelled"
>
  <!-- ... -->
</transition>

复制代码

 

剩下的就是看Velocity.js文档了

还有我做(chao)的一个demo:

转载于:https://my.oschina.net/fadoudou/blog/1509992

相关文章:

  • 吓死猪队友 只用命令行登录Windows就问你怕不怕!
  • 从零开始学习Sencha Touch MVC应用之十四
  • 四 APPIUM GUI讲解(Windows版)(转)
  • net user使用
  • 如何在Ubuntu上使用Grafana监控Docker
  • 电脑快捷键
  • 字符合并[HAOI2016]
  • love——sir thomas browne
  • 开源 java CMS - FreeCMS2.6 积分记录
  • 个人记事本-介绍
  • 如何让Ubuntu在老旧设备上飞速运行!
  • Redis事件驱动库转
  • 开源 java CMS - FreeCMS2.6 站内信
  • Spring 整合 Hessian
  • infoq 七牛云CTO
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • avalon2.2的VM生成过程
  • httpie使用详解
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • js面向对象
  • leetcode46 Permutation 排列组合
  • Linux中的硬链接与软链接
  • Map集合、散列表、红黑树介绍
  • mockjs让前端开发独立于后端
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • php中curl和soap方式请求服务超时问题
  • underscore源码剖析之整体架构
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 服务器之间,相同帐号,实现免密钥登录
  • 记录一下第一次使用npm
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 小而合理的前端理论:rscss和rsjs
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • 进程与线程(三)——进程/线程间通信
  • 整理一些计算机基础知识!
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • #AngularJS#$sce.trustAsResourceUrl
  • $refs 、$nextTic、动态组件、name的使用
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (8)STL算法之替换
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (笔试题)合法字符串
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (强烈推荐)移动端音视频从零到上手(上)
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (转)mysql使用Navicat 导出和导入数据库
  • (转)编辑寄语:因为爱心,所以美丽
  • (转)创业家杂志:UCWEB天使第一步
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • ****Linux下Mysql的安装和配置
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .NET应用架构设计:原则、模式与实践 目录预览
  • [3D游戏开发实践] Cocos Cyberpunk 源码解读-高中低端机性能适配策略
  • [android] 切换界面的通用处理