关键词搜索

全站搜索
×
密码登录在这里
×
注册会员
×

已有账号? 请点击

忘记密码

已有账号? 请点击

使用其他方式登录

生命周期Vue2 / Vue3区别总结共11个

发布2022-06-06 浏览781次

详情内容

这是一个

总结: 

生命周期的优点
生命周期让我们在控制整个vue时更容易形成更好的逻辑,
四个阶段,11个钩子函数,创建前后、挂载阶段、更新阶段、销毁阶段
分别有:
创建前:beforeCreate() data和methods不可使用
创建后:Created() 可以使用data和methods不能使用dom

挂载前:beforeMount() data,methods可以使用但是不能使用dom
挂载后:Mounted() dom渲染完毕可以使用dom

更新前:beforeUptate() 当data的数据导致dom发生改变会执行这个钩子,
更新后:Updated() 

销毁前:beforeDestroy() 即将销毁data和methods中的数据此时还是可以使用的,可以做一些释放内存的操作
销毁后:Destroyed() 已经销毁完毕

这两个生命周期是当使用keep-alive之后才会生效

            activated() { }//组件激活时触发的生命周期
            deactivated() { }//组件失活时触发的生命周期

errorCaptured:当捕获一个来自子孙组件的错误时被调用,此钩子会收到三个参数:
错误对象、发生错误的组件实例、包含错误来源信息的字符串。
此钩子可以返回 false 以阻止该错误继续向上传播。

Vue3.0中的生命周期做了一些改动:
beforeCreate  -> setup()	
created       -> setup()
beforeMount   -> onBeforeMount	组件挂载到节点上之前执行的函数。
mounted       -> onMounted	组件挂载完成后执行的函数
beforeUpdate  -> onBeforeUpdate	组件更新之前执行的函数。
updated       -> onUpdated	当data的数据导致dom发生改变会执行这个钩子。
beforeDestroy -> onBeforeUnmount销毁前
destroyed     -> onUnmounted	组件卸载
errorCaptured -> onErrorCaptured 捕获错误


 解释:

beforeCreate

 vue组件实例对象已经创建完毕但是 data methods里面的内容还没有准备好 不可用 

created

data methods 可以用, dom对象不可用

// data methods 数据可以用 dom对象元素不可用

 //html
   <div class="div">{{msg}}</div>
 //js
    created() { 
               
                let el = document.querySelector('.div')
                    console.log(el);//undefined
            },

 beforeMount 

data methods 可以用, dom对象不可用

 mounted() {     },

这时候真实dom已经渲染完毕 可以获取dom对象

 beforeUpdate

当数据更新导致的dom更新或者打补丁之前触发的生命周期
细节 重点 当数据更新不会触发beforeUpdate(){},
当数据更新导致的dom更新或者打补丁之前触发的生命周期才会触发  !!!

updated

当数据更新导致的dom更新或者打补丁之后触发的生命周期

 keep-alive

这两个生命周期是当使用keep-alive之后才会生效

activated() { // 组件激活时触发的生命周期

},
deactivated() { // 组件失活时触发的生命周期

},

beforeDestroy

组件页面销毁前

destroyed

组件页面销毁


errorCaptured

当捕获一个来自子孙组件的错误时被调用,此钩子会收到三个参数:
错误对象、发生错误的组件实例、包含错误来源信息的字符串。
此钩子可以返回 false 以阻止该错误继续向上传播。

,可点击上面演示按钮看HTML页面效果,有需要可直接下载或开通SVIP终生会员全站免费下载。
点击QQ咨询
开通会员
返回顶部
×
  • 微信支付
微信扫码支付
微信扫码支付
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
确定支付下载