当前位置:网站首页 > Vue.js开发 > 正文

vue钩子函数的作用(vue的钩子函数作用是什么)



什么是生命周期?

人的生命周期

区别组件的钩子函数 actived和mounted vue的钩子函数作用是什么_生命周期

Vue的生命周期

区别组件的钩子函数 actived和mounted vue的钩子函数作用是什么_生命周期_02

是什么 : 组件创建到销毁的全过程

作用 : 在特定的时间节点做特定的事情, 比如: created 中发送 ajax 请求获取数据

Vue 框架内置函数,随着组件的生命周期阶段,自动执行
作用: 特定的时间点,执行特定的操作

场景: 组件创建完毕后,可以在created 生命周期函数中发起Ajax 请求,从而初始化 data 数据

分类: 4大阶段8个方法

1.new Vue() – Vue实例化(组件也是一个小的Vue实例)

2.Init Events & Lifecycle – 初始化事件和生命周期函数

3.beforeCreate – 生命周期钩子函数被执行

4.Init injections&reactivity – Vue内部添加data和methods等

5.created – 生命周期钩子函数被执行, 实例创建

6.接下来是编译模板阶段 –开始分析

7.Has el option? – 是否有el选项 – 检查要挂到哪里

区别组件的钩子函数 actived和mounted vue的钩子函数作用是什么_Vue_03

注意 : beforeCreate 不能获取 data ,created 可以获取 data, 不能获取真实 DOM

1.template选项检查

有 - 编译template返回render渲染函数

例如:

但是: 因为Vue脚手架环境使用webpack+vue-template-compiler包, 进行模板编译转换后运行, 所以vue.js里只有运行时的代码, 所以这么写在脚手架环境会报错

所以: 脚手架环境, 直接写的是render函数方式进行渲染

无 – 编译el选项对应标签作为template(要渲染的模板)

例如:

2.虚拟DOM挂载成真实DOM之前

3.beforeMount – 生命周期钩子函数被执行

4.Create … – 把虚拟DOM和渲染的数据一并挂到真实DOM上

5.真实DOM挂载完毕

6.mounted – 生命周期钩子函数被执行

区别组件的钩子函数 actived和mounted vue的钩子函数作用是什么_生命周期_04

注: mounted 可以获取真实 DOM

1.当data里数据改变, 更新DOM之前

2.beforeUpdate – 生命周期钩子函数被执行

3.Virtual DOM…… – 虚拟DOM重新渲染, 打补丁到真实DOM

4.updated – 生命周期钩子函数被执行

5.当有data数据改变 – 重复这个循环

区别组件的钩子函数 actived和mounted vue的钩子函数作用是什么_vue.js_05

注意:

  1. beforeUpdate data 更新了, 真实 DOM 没有更新
  2. updated 可以获取更新后的DOM

1.当$destroy()被调用 – 比如组件DOM被移除(例v-if)

2.beforeDestroy – 生命周期钩子函数被执行

3.拆卸数据监视器、子组件和事件侦听器

4.实例销毁后, 最后触发一个钩子函数

5.destroyed – 生命周期钩子函数被执行

区别组件的钩子函数 actived和mounted vue的钩子函数作用是什么_前端_06

components/Life.vue - 准备生命周期方法(Life组件即将要被删除)

主要: App.vue - 点击按钮让Life组件从DOM上移除 -> 导致Life组件进入销毁阶段

小结

到此这篇vue钩子函数的作用(vue的钩子函数作用是什么)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • win32gui是什么库(win32.worm.rjump.b (5.2%))2026-03-24 09:45:05
  • 2024越狱源一键复制(14.2越狱源地址)2026-03-24 09:45:05
  • pcie4.0x1速度(pcie4.0 速度)2026-03-24 09:45:05
  • vue2和vue3区别数据双向绑定(vue2.0和vue3.0数据双向绑定)2026-03-24 09:45:05
  • vue.js使用教程(vue.js快速入门)2026-03-24 09:45:05
  • Pcie5.0速度(pcie5.0速度是多少)2026-03-24 09:45:05
  • redhat linux9官网(red hat linux9.0)2026-03-24 09:45:05
  • jsj啥意思(网络词js是什么意思)2026-03-24 09:45:05
  • etap安装教程(etap12.6安装)2026-03-24 09:45:05
  • js深拷贝json parse(js深拷贝的三种实现方式)2026-03-24 09:45:05
  • 全屏图片