1.生命周期
一个组件从创建到销毁的整个过程就是 - Vue 实例的 - 生命周期
为什么要学:可以在特定的时间做特定的事情 在 created 发请求,在 mounted 获取 DOM 元素
2.常用的 声明周期(钩子)函数
Vue 框架内置函数,随着组件的生命周期阶段,自动执行
简单理解: 函数不需要自己调用,在组件生命周期过程中会自动调用的函数
作用:特定的时间点,执行特定的操作
场景:组件创建完毕之后,可以在 created 生命周期函数中发起 Ajax 请求,从而初始化 data 数据
beforeCreate:在实例初始化之后,数据观测和事件配置之前被调用 此时data 和 methods 以及页面的DOM结构都没有初始化 什么都做不了
created:在实例创建完成后被立即调用此时data 和 methods已经可以使用 但是页面还没有渲染出来
beforeMount:在挂载开始之前被调用 此时页面上还看不到真实数据 只是一个模板页面而已
mounted:el被新创建的vm.$el替换,并挂载到实例上去之后调用该钩子。 数据已经真实渲染到页面上 在这个钩子函数里面我们可以使用一些第三方的插件
beforeUpdate:数据更新时调用,发生在虚拟DOM打补丁之前。 页面上数据还是旧的
updated:由于数据更改导致的虚拟DOM重新渲染和打补丁,在这之后会调用该钩子。 页面上数据已经替换成最新的
beforeDestroy:实例销毁之前调用
destroyed:实例销毁后调用
(1)初始化
在 created 方法中可以访问 data 和 methods 等
(2)挂载
在 mounted 方法中 可以访问到 真实的 DOM 元素、
(3)更新
在 updated 方法中 获取更新后的 DOM 元素
当数据发生变化并更新页面后,这时就会执行 updated 钩子函数
(4)销毁
在 destroyed 方法中 一般用于清除定时器和全局事件
Vue 实例从创建到显示经历了那些钩子函数: beforeCreated / created / beforeMount / mounted