Vue2 精进之路:组件的生命周期

36 篇文章 2 订阅
16 篇文章 1 订阅

参考

项目描述
搜索引擎Bing
哔哩哔哩黑马程序员
VueJS官方文档

描述

项目描述
Edge109.0.1518.70 (正式版本) (64 位)
操作系统Windows 10 专业版
@vue/cli5.0.8
npm8.19.3
VueJS2.6.14

生命周期

组件从创建到销毁的这一系列过程被称为组件的生命周期。在Vue中,组件生命周期的节点会被定义为一系列的方法,这些方法称为生命周期钩子。有了这些生命周期方法,我们可以在合适的时机来完成合适的工作。


上述内容引用自张益珲先生的 《循序渐进 Vue.js 3前端开发实战 》

生命周期图示

下图展示了实例的生命周期。你不需要立马弄明白所有的东西,不过随着你的不断学习和使用,它的参考价值会越来越高。

请添加图片描述
该图示引用自 VueJS 官网,注释由鄙人手工添加。


生命周期钩子

组件创建阶段
项目描述
beforeCreateVue 实例将要被创建。
createdVue 实例创建完成,此时 propsmethodsdata 等属性均已被初识化,处于可用状态,故该阶段常用于向服务器端发送 AJAX 请求并将获取到的数据进行保存。
beforeMount此时模板已经编译完成,但还没有挂载到页面中。
mounted已将模板的编译结果挂载到页面中,此时可用对 DOM 进行操作。

注:

每一个 Vue 组件都是一个通过 Vue 构造函数创建的实例。

组件运行阶段
项目描述
beforeUpdatedata 属性中定义的数据已发生改动,将对虚拟DOM 节点进行更新。
updated已对 DOM 节点进行更新。
组件销毁阶段
项目描述
beforeDestroy组件将要被销毁。
destroyed组件已被销毁。

举个栗子

<template>
  <div class="container">
    <p v-text="num"></p>
    <!-- 点击按钮后,num 将增加 1 -->
    <button @click="num += 1">Add</button>
  </div>
</template>

<script>
export default {
  // 定义数据
  data() {
    return {
      num: 0
    }
  },
  // 使用生命周期钩子(在 DOM 节点更新前执行该函数)
  beforeUpdate() {
    console.log('【Before】', this.num);
    const p = document.querySelector('p');
    console.log('【Before】', p.innerText);
  },
  // 使用生命周期钩子(在 DOM 节点更新后执行该函数)
  updated() {
    console.log('【After】', this.num);
    const p = document.querySelector('p');
    console.log('【After】', p.innerText);
  }
}
</script>

<style>

</style>

效果:

效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BinaryMoon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值