vue生命周期什么时候挂载
-
Vue的生命周期可以分为8个阶段,分别是创建阶段、挂载阶段、更新阶段和销毁阶段。其中,挂载阶段是指Vue实例被创建并且将其模板编译成DOM,然后将其挂载到页面上的过程。
具体来说,Vue的挂载阶段可以细分为以下几个步骤:
-
创建Vue实例:在创建Vue实例时,会执行一系列初始化操作,包括初始化数据、props、methods等选项。
-
编译模板:Vue会将模板编译成渲染函数,并将其存储在Vue实例的$options.render属性中。
-
创建虚拟DOM:在挂载阶段,Vue会使用该渲染函数生成虚拟DOM(Virtual DOM),并通过Diff算法与之前的虚拟DOM进行对比,找出差异。
-
更新真实DOM:通过对比差异,Vue会将变更的部分更新到真实的DOM上,从而实现页面的渲染。
-
挂载完成:当真实的DOM更新完成后,Vue会触发挂载完成的钩子函数mounted,此时可以访问到挂载的元素,并进行相应的操作。
总结来说,Vue的挂载阶段即将Vue实例的模板编译成真实的DOM,并将其插入到页面中展示的过程。它是Vue生命周期中的重要阶段,也是我们进行页面渲染和操作的关键时刻。
2年前 -
-
Vue生命周期中的挂载阶段发生在实例被创建之后。具体来说,挂载阶段发生在以下两个时刻:
-
beforeCreate – 实例创建完成之后,但是数据观测和事件配置之前。在这个阶段,Vue实例已经获取了初始化的数据,但是尚未进行虚拟DOM的渲染和DOM的挂载。
-
created – 实例创建完成,并且数据观测和事件配置已经完成。在这个阶段,Vue实例已经完成了数据的初始化,并通过调用created生命周期钩子函数对数据进行了处理。然而,DOM元素尚未被创建,因此在这个阶段是无法访问到DOM的。
之后,挂载阶段就开始了。在挂载阶段,Vue将创建或获取一个真实的DOM元素,并将虚拟DOM渲染成真实的DOM,并将其挂载到页面中显示出来。
-
beforeMount – 在挂载开始之前被调用。在这个阶段,Vue实例已经创建好了虚拟DOM,但是还没有将其渲染成真实的DOM并插入页面中。
-
mounted – 在挂载完成之后被调用。在这个阶段,Vue实例的虚拟DOM已经渲染成了真实的DOM,并且已经插入到了页面中。此时,可以访问到DOM元素,并且可以执行一些需要依赖DOM的操作。
总结起来,Vue生命周期中的挂载阶段发生在实例创建和数据初始化完成之后,就是在beforeCreate和created之后。在挂载阶段,Vue将虚拟DOM渲染成真实的DOM,并将其插入到页面中显示出来。
2年前 -
-
在Vue中,组件的生命周期可以分为8个阶段,分别是:创建阶段、挂载阶段、更新阶段、销毁阶段。
本文将重点讲解Vue组件的挂载阶段。
-
beforeCreate:在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。在此阶段中,组件实例被创建,但尚未挂载到 DOM 上。
-
created:实例已经创建完成之后被调用。在这个阶段可以进行数据的初始化,也可以在这里调用后端接口获取数据。
-
beforeMount:在挂载开始之前被调用:相关的 render 函数首次被调用。在此阶段,模板编译完成之后,即将生成虚拟 DOM 树,但尚未生成真实的 DOM。
-
mounted:el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。getData()获取ajax数据,执行这个函数,将数据渲染至页面上。
-
beforeUpdate:数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前。在此阶段,组件数据发生改变,但尚未更新到 DOM 上。
-
updated:组件更新完毕,数据已经更新到 DOM 上。在此阶段,组件已经重新渲染了,可以执行一些依赖于 DOM 的操作。
-
beforeDestroy:实例销毁之前调用。在此阶段,组件实例仍然可用,可以执行一些清理操作。
-
destroyed:实例被销毁之后调用。在此阶段,组件实例已经被销毁,所有的事件监听器和子组件也都被移除。
总结:在Vue中,组件的挂载阶段是在beforeMount和mounted之间,即在组件的渲染过程中,将虚拟DOM转为真实的DOM,并挂载到页面上。这个阶段是将组件可见化的过程,可以在mounted生命周期钩子中进行一些初始化操作和后端数据的请求。
2年前 -