Vue生命周期共有8个阶段,分别为:beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy、destroyed。
Vue 生命周期共有 8 个阶段,分别为:beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy、destroyed。
Vue 生命周期的八个阶段
1、beforeCreate:组件实例刚被创建,组件属性计算之前。
2、created:组件实例刚被创建,属性已绑定,但 Dom 还未生成。
3、beforeMount:模板编译/挂载之前。在挂载开始之前被调用,相关的 render 函数首次被调用,实例已完成以下的配置: 编译模板,把 data 里面的数据和模板生成 html,此时注意还没有挂载到 Html 页面上。
4、mounted:模板编译/挂载之后。在 el 被新创建的 vm.el 替换,并挂载到实例上去之后被调用,实例已完成以下的配置:用上面编译好的的 html 内容替换 l 属性指向的 Dom 对象。完成模板中的 html 渲染到 html 页面中。此过程进行 ajax 交互。
5、beforeUpdate:组件更新之前。在数据更新之前调用,发生在虚拟 Dom 重新渲染打补丁之前,可以在钩子函数中进一步的更改状态,不会出大附加的重渲染过程。
6、updated:组件更新之后。在由于数据更改导致的虚拟 Dom 重新渲染和打补丁之后调用。调用是,组件 Dom 已经更新,所以可以执行依赖于 Dom 的操作,然而在大多数的情况下,应该避免在此期间更改状态,因为这可能会导致更新无线循环,该钩子函数在服务器端渲染期间不被调用。
7、beforeDestroy:组件销毁前调用。在示例销毁之前调用,实例仍然完全可用。
8、destroyed:组件销毁后调用。 在实例销毁之后调用。调用后,所有的时间监听会被移除,所有的子实例也会被销毁,该钩子函数在服务器端渲染器件不被调用。
其他扩展
什么是生命周期
Vue 实例从创建到销毁的过程就是生命周期。从开始创建,初始化数据,编译模板,挂载 Dom 到渲染,更新到渲染,销毁等一系列过程,称之为生命周期。
Vue 生命周期的作用是什么
它的生命周期有多个事件钩子,让我们在控制整个 Vue 实例的过程中更容易形成好的逻辑。
第一次页面加载会触发那几个钩子
会触发 beforeCreated,created,beforeMount,mounted。
Dom 渲染在哪个周期完成
Dom 渲染在 mounted 中就已经完成了。