| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> vue的生命周期及父子组件生命周期 -> 正文阅读 |
|
[JavaScript知识库]vue的生命周期及父子组件生命周期 |
目录 vue的生命周期钩子的介绍vue官网中提供的vue的生命周期钩子图 vue的生命周期可以分为8个阶段: 1、创建vue实例涉及的两个钩子 (1)beforeCreate:创建前,vue实例初始化之前调用。 此时的数据观察和事件配置都还没有准备好,而此时的实例中的data和el还是underfined状态,不可用的。Dom元素也未加载,此时还不能操作dom元素 (2)created:创建后,vue实例初始化之后调用 此时实例创建完成,可以访问data、mothods等属性。但是此时组件还没有挂载到页面上,所以依然不能访问dom元素。此阶段可以进行一个数据请求的操作。 2、组件挂载到页面涉及的两个钩子: (1)beforeMount:挂载前,挂载到DOM树之前调用。相关的 在beforeMount之前,会找到对应的template,并编译成render函数。 (2)mounted:挂载后,挂载到DOM树之后调用 此时可以通过Dom API操作DOM元素 3、组件更新涉及的两个钩子 (1)beforeupdate:更新前,在数据发生改变后,DOM 被更新之前被调用。 此时,可以对可能会被移除的元素做一些操作,比如移除事件监听等 (2)updated:更新后,在数据更改导致的虚拟 DOM 重新渲染和更新完毕之后被调用 此时,组件 DOM 已经更新。 4、组件销毁涉及的两个钩子 (1)beforeDestroy:销毁前,vue实例销毁之前调用 一般在这一步,可以销毁定时器,解绑全局事件等。 (2)destroyed:销毁后,vue实例销毁之后调用 该钩子被调用后,对应 Vue 实例的所有指令都被解绑,所有的事件监听器被移除,所有的子实例也都被销毁。 值得注意的是,在使用keep-alive时,组件还会涉及两外两个钩子 (1)actived:被 keep-alive 缓存的组件激活时调用。 (2)被 keep-alive 缓存的组件失活时调用。 父子组件的生命周期加载渲染过程父beforeCreate→父created→父beforeMount→子bereforeCreate→子created→子beforeMound→子mounted→父mounted 父组件更新过程点击“父组件更新”按钮 ?执行的生命周期钩子:父beforeUpdate→父updated 子组件更新过程点击‘子组件更新’按钮: ?执行的生命周期钩子:子befforeUpdate→子updated 父子组件更新过程点击‘改变value’按钮 ?执行的生命周期钩子:父beforeUpdate→子beforeUpdate→子updated→父updated 销毁过程销毁是执行的生命周期钩子:?父beforeDestroy→子beforeDestroy→子destroyed→父destroyed 代码示例Lifecycle.vue
Parent.vue
child.vue
created和mounted的区别created创建vue实例之后,此时完成了数据检测和事件及配置,可以访问data数据,可以进行网络请求。created是在模板渲染成html前调用,所以不能进行dom操作 mounted是组件挂载完毕,模板渲染成html之后调用,可以进行dom相关的操作。 |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 16:45:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |