Vue的生命周期及钩子函数

本文详细介绍了Vue的生命周期,包括beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy和destroyed这八个钩子函数。在不同阶段,Vue实例的状态和操作各有特点,例如beforeCreate阶段数据模型已创建但视图未生成,mounted阶段完成挂载,updated阶段完成数据更新。这些生命周期理解对于优化Vue应用和进行组件间的协调至关重要。
摘要由CSDN通过智能技术生成

Vue的生命周期及钩子函数

Vue生命周期是指vue实例对象从创建之初到销毁的过程。

生命周期图:

在这里插入图片描述

vue实例的生命周期,及其八个钩子函数
  • 1、创建 beforeCreate created
  • 2、挂载 beforeMount mounted
  • 3、更新 beforeUpdate updated
  • 4、销毁 beforeDestroy destroyed

(1):①、beforeCreate:创建实例前。视图view和data数据模型都未被创建

②、created:创建完成(后)。视图view未被创建,data数据模型被创建

(2):①、beforeMount:挂载前(开始创建模型)。视图view未被真正创建只是进行占位,data数据模型被创建

②、mounted:挂载后(创建完成)。视图view被真正创建并进行数据绑定,data数据模型被创建

(3):①、beforeUpdate 更新前。data模型被更新,view视图未被更新。更新前的准备

②、updated 更新后。view和data都被更新。更新完成

(4):①、bbeforeDestroy 销毁前,做销毁前的准备

②、destroyed 销毁后。销毁完成

  • 生命周期
生命周期: Vue是一个构造函数,当执行执行这个函数时,相当于初始化vue实例;
在创建实例过程中,需要设置数据监听,编译模板,将实例挂载到DOM上,数据更新能够让DOM也更新,
在这个初始化,又会不同阶段默认调用一些函数执行,这些函数就是生命周期的钩子函数;
  • 生命周期钩子函数
生命周期钩子函数,让够让咱们在初始化实例时,添加自己的代码;
生命周期的钩子函数中的this,会默认指向vue的实例;
  • 钩子函数
 beforeCreate created[可以获取数据及方法]
beforeMount mounted[可以获取到真实的DOM]
beforeUpdate updated[数据更新执行]
beforeDestroy destroyed[销毁vue实例,不再具有双向数据绑定的特点]

在这里插入图片描述

代码

<body>
    <div id="app">
        <div>
            {
  {msg}}
        </div>
        <ul>
            <li v-for="a in arr"></li>
        </ul>
        <button @click="fn">点我一下</button>
    </div>
    <script src="../node_modules/axios/dist/axios.js"></script>
    <script sr
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue生命周期是指Vue实例从创建到销毁的整个过程,而钩子函数则是在不同的生命周期阶段执行的函数。Vue提供了一系列的钩子函数,用于在特定的生命周期阶段执行相应的操作。 以下是Vue生命周期钩子函数及其对应的生命周期阶段: 1. beforeCreate:在实例初始化之后,数据观测和事件配置之前被调用。 2. created:在实例创建完成后被立即调用。此时实例已完成以下配置:数据观测、属性和方法的运算、watch/event事件回调。然而,挂载阶段还没开始,$el属性目前不可见。 3. beforeMount:在挂载开始之前被调用。相关的render函数首次被调用。 4. mounted:el被新创建的vm.$el替换,并挂载到实例上去之后调用该钩子函数。此时,实例已完成以下配置:编译模板、把data里面的数据和模板生成html。注意此时还没有挂载到页面上。 5. beforeUpdate:数据更新时调用,发生在虚拟DOM重新渲染和打补丁之前。可以在该钩子函数中对更新之前的状态做一些操作。 6. updated:由于数据更改导致的虚拟DOM重新渲染和打补丁,在这之后会调用该钩子函数。可以执行依赖于DOM的操作,但是要避免更改数据。 7. beforeDestroy:实例销毁之前调用。在这一步,实例仍然完全可用。 8. destroyed:实例销毁后调用。此时,所有的事件监听器被移除,所有的子实例也被销毁。 下面是一个简单的示例,演示了Vue生命周期钩子函数的使用: ```javascript new Vue({ el: '#app', data: { message: 'Hello Vue!' }, beforeCreate: function() { console.log('beforeCreate'); }, created: function() { console.log('created'); }, beforeMount: function() { console.log('beforeMount'); }, mounted: function() { console.log('mounted'); }, beforeUpdate: function() { console.log('beforeUpdate'); }, updated: function() { conso.log('updated'); }, beforeDestroy: function() { console.log('beforeDestroy'); }, destroyed: function() { console.log('destroyed'); } }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值