生命周期(钩子函数)

1. 定义vue实例从创建到虚拟dom产生,到数据绑定,监听数据变化,到vue实例销毁的过程。

2. 各阶段组成

a. 实例创建阶段

       beforeCreated 实例初始化之前:初始化默认事件和默认生命周期。

       created 实例初始化完成:可以访问数据模型(data)和methods中方法。

b. 实例挂载阶段(和模板进行绑定)

       beforeMount 实例挂载之前:查看vue有没有el选项,进而查看有没有template选项,没有template选项,将el外部html元素编译成模板。

       mounted 实例挂载完成:可以访问dom元素,创建vm.$el替换el属性完成模板编译。

c. 实例更新阶段

       beforeUpted 实例更新之前:此时数据更改,触发该生命周期,此时dom的数据还未更新完成,还没有编译到模板中。

       updated 实例更新完成:数据更改就会触发生命周期,此时dom中的数据已经更新完成,编译到模板中。

d. 实例销毁阶段

       beforeDestroy 实例销毁之前:实例销毁会触发该生命周期,依旧可以访问vue实例中的数据模型和方法。

       destroy 实例销毁完成:销毁了实例的监听器、子组件和事件监听。

注:实例初始化阶段生命周期和实例挂载生命周期只会执行一次,实例更新阶段生命周期只要数据改变就会一直执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
生命周期钩子函数是在Vue组件的生命周期中执行的特定函数。根据引用和引用[2]的描述,生命周期钩子函数在不同的阶段被调用,并且每个阶段都有特定的事情要做。 根据引用中的图示,Vue 2.0版本的生命周期钩子函数包括: - beforeCreate: 在实例初始化之后,数据观测和事件配置之前被调用。 - created: 实例已经创建完成之后被调用。此时,实例已经完成数据观测,属性和方法的运算,watch/event事件回调。但是,此时还没有挂载完成,$el属性尚未创建。 - beforeMount: 在挂载开始之前被调用。在此阶段,模板编译已完成,但是尚未将编译后的模板渲染到视图中。 - mounted: 实例已经挂载到DOM上后被调用。此时,实例的$el属性已经创建,可以进行DOM操作。 - beforeUpdate: 在数据更新之前被调用,发生在虚拟DOM重新渲染和打补丁之前。可以在此阶段进行状态更新。 - updated: 在数据更新之后被调用,发生在虚拟DOM重新渲染和打补丁之后。可以在此阶段进行DOM操作。 - beforeDestroy: 在实例销毁之前被调用。此时,实例仍然完全可用。 - destroyed: 在实例销毁之后被调用。此时,实例已经解除所有事件监听器和所有子实例也被销毁。 这些生命周期钩子函数允许我们在组件的不同阶段进行一些操作,比如初始化数据、进行异步操作、监听事件、更新DOM等等。通过在这些钩子函数中编写逻辑,我们可以灵活地控制组件的行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值