一、概述

  • 钩子函数用来描述一个组件从引入到退出的全过程中的某个过程,整个过程称为生命周期。
  • 钩子函数按照组件生命周期的过程分为:挂载阶段=>更新阶段=>销毁阶段。

二、每个阶段对应的钩子函数

  • 挂载阶段:beforeCreate、created、beforeMounted、mounted
  • 更新阶段:beforeUpdate、updated
  • 销毁阶段:beforeDestroy、destroyed

三、各个钩子函数的使用特点

  • beforeCreate: 这个阶段主要是完成vue中关于生成周期以及事件的一些初始化工作。这时候,data和methods中的数据都没初始化
  • created: 实例创建完成,可访问data、computed、watch、methods上的方法和数据,未挂载到DOM,不能访问到el属性,el属性,ref属性内容为空数组常用于简单的ajax请求,页面的初始化
  • beforeMount: 在挂载开始之前被调用,beforeMount之前,会找到对应的template,并编译成render函数
  • mounted: 实例挂载到DOM上,此时可以通过DOM API获取到DOM节点,$ref属性可以访问常用于获取VNode信息和操作,ajax请求
  • beforeupdate: 响应式数据更新时调用,发生在虚拟DOM打补丁之前,适合在更新之前访问现有的DOM,比如手动移除已添加的事件监听器
  • updated: 虚拟 DOM 重新渲染和打补丁之后调用,组件DOM已经更新,可执行依赖于DOM的操作避免在这个钩子函数中操作数据,可能陷入死循环
  • beforeDestroy: 实例销毁之前调用。这一步,实例仍然完全可用,this仍能获取到实例,常用于销毁定时器、解绑全局事件、销毁插件对象等操作
  • destroyed: 销毁,实例上的data和所有methods,以及过滤器、指令都处于不可用状态,还未真正销毁

四、父子组件钩子函数在三个阶段的代码执行顺序

  • 挂载: 父亲created> 子created > 子mounted> 父亲mounted>
  • 更新: 父亲beforeUpdate > 子beforeUpdated > 子updated > 父亲updated
  • 销毁: 父亲beforeDestroy> 子beforeDestroy > 子destroyed> 父destroyed

五、Vue生命周期流程图

细说vue钩子函数(生命周期函数)相关推荐

  1. Vue钩子函数中的this为什么能指向Vue的实例而不是指向传入的参数options(Vue源码解读)

    起因 先看一段Vue的代码,在Vue的原型链上增加了一个setData方法,然后实例化Vue对象,传入一个Object类型的参数 Vue.prototype.setData = function (k ...

  2. vue钩子函数beforeRouteEnter

    vue钩子函数beforeRouteEnter beforeRouteEnter 函数内部的 this 为 undefined,这是因为 beforeRouteEnter 是在页面创建前就执行的, 先 ...

  3. vue 钩子函数 使用async await

    <!DOCTYPE html> <html><head><meta charset="utf-8" /><title>v ...

  4. c语言中的钩子函数,生命周期(vue的钩子函数)

    生命周期图示 创建前,创建后,挂载前,挂载后,更新前,更新后,销毁前,销毁后 beforeCreate:function(){ console.log('1-beforeCreate 组件还未被创建' ...

  5. Vue 钩子函数(含生命周期钩子)汇总

    Vue 实例从创建到销毁的过程,就是生命周期.也就是从开始创建.初始化数据.编译模板.挂载 Dom→渲染.更新→渲染.卸载等一系列过程,我们称这是 Vue 的生命周期. 一. beforeCreate ...

  6. Vue钩子函数以及父组件的8个钩子和子组件的8个钩子的先后执行的顺序

    ** vue组件生命周期 ** 一个组件从 创建 到 销毁 的整个过程就是生命周期 生命周期函数(钩子函数) vue 框架内置函数,随着组件的生命周期,自动 按次序 执行 作用:特定的时间点,执行某些 ...

  7. Vue钩子函数mounted实现进入页面立即查询的功能案例

    Vue的钩子函数:当执行到某一阶段就会执行的方法/函数.就相当于spring中bean的生命周期一样.

  8. VUE3组合api的钩子函数生命周期

    选项API生命周期选项和Composition API之间的映射 beforeCreate------>使用setup() created------>使用setup() beforeMo ...

  9. vue钩子函数是什么,有什么没用

    文章目录 前言 目标 一.定义 二.vue加载过程 三.基本的使用 参考 前言 人见白头嗔,我见白头喜 目标 理解钩子函数,和基本应用 一.定义 每个 Vue 实例在被创建时都要经过一系列的初始化过程 ...

最新文章

  1. 《强化学习周刊》第36期:DDA3C、因果推理干预、逆强化学习
  2. 医疗信息化、医学相关资料下载
  3. java中的servlet是线程安全的嘛_Java面试题:Servlet是线程安全的吗?(转)
  4. 大规模图训练调优指南
  5. extjs重新激活grid_处理Extjs的gridpanel修改一条记录并重新加载store之后,已选项model的record并没有改变的问题...
  6. 【AJAX】AJAX实现搜索信息自己主动推荐并补全
  7. java 局部内部类常用么_Java中的内部类
  8. android不能在主线程,android.os.NetworkOnMainThreadException 在4.0之后谷歌强制要求连接网络不能在主线程进行访问(示例代码)...
  9. 别惹老黄!英伟达遭网络攻击后,反手就把黑客黑了
  10. C++11 override 和 final 关键字
  11. 导入jasperreports出现Cannot resolve com.lowagie:itext:2.1.7.js6异常、生成PDF中文不显示中文解决方法、使用命令安装jar包
  12. python读取udp数据包内容_python – 解析UDP数据包
  13. 小觅双目相机陀螺仪静态数据输出为0+timeshift ubuntu 系统备份
  14. Windows数字签名 数字签名(代码签名)流程
  15. window10笔记本安装USB转VGA驱动,电脑重启后无法开机
  16. 北汽极狐ARCFOX与华为合作
  17. QT TextEdit控件
  18. Thinkpad 禁用触摸板
  19. Simulink电力电子仿真——(一)概述1
  20. 什么是Voice VLAN?光纤网络交换机如何配置

热门文章

  1. Thinkphp3.2 查询物流接口对接(快递鸟为例)
  2. ModuleNotFoundError: No module named ‘tensorflow_hub‘
  3. Java基于POI对PPT的基本操作
  4. Java实现发送短信验证验证码功能
  5. 专访 | 观远数据吴宝琪:BI 最大的难点并不只在单点技术
  6. 简单选择排序(C语言)
  7. hive截取当前系统时间
  8. 学而时习之,温故而知新——近期新接触的概念、重温以前的概念
  9. heapster资源API
  10. 【矩阵论】2. 矩阵分解——正规谱分解