谈谈你对vue生命周期的理解:(面试题)

   只要是组件都会存在生命周期的
生命周期钩子函数: 钩子函数会自动执行的
        vue2  :
            创建阶段 beforeCreate() / created()
            挂载阶段 beforeMount() / mounted()
            更新阶段 beforeUpdate() / updated()
            销毁阶段 beforeDestroy() / destroyed()          


        vue3 :
            创建阶段 beforeCreate() / created()
            挂载阶段 beforeMount() / mounted()
            更新阶段 beforeUpdate() / updated()
            销毁阶段 beforeUnmount() / unmounted()
        beforeCreate()
            在实例初始化之后、进行数据侦听和事件/侦听器的配置之前同步调用。 不能访问data methods 等
           
        created()
            在实例创建完成后被立即同步调用。在这一步中,实例已完成对选项的处理,意味着以下内容已被配置完毕:数据侦听、计算属性、方法、事件/侦听器的回调函数。然而,挂载阶段还没开始,且 $el property 目前尚不可用

        beforeMount()
            在挂载开始之前被调用:相关的 render 函数首次被调用。

        mounted()
            在实例挂载完成后被调用,这时候传递给 app.mount 的元素已经被新创建的 vm.$el 替换了

        beforeUpdate()
            在数据发生改变后,DOM 被更新之前被调用。这里适合在现有 DOM 将要被更新之前访问它,比如移除手动添加的事件监听器

        updated()
            在数据更改导致的虚拟 DOM 重新渲染和更新完毕之后被调用。


        beforeUnmount()
            在卸载组件实例之前调用。在这个阶段,实例仍然是完全正常的。

        unmounted()
            卸载组件实例后调用。调用此钩子时,组件实例的所有指令都被解除绑定,所有事件侦听器都被移除,所有子组件实例被卸载。


posted @ 2022-07-01 20:13  请善待容嬷嬷  阅读(88)  评论(0编辑  收藏  举报