浅谈一下Vue生命周期中mounted和created的区别

下面我来详细讲解一下“浅谈一下Vue生命周期中mounted和created的区别”的完整攻略。

什么是Vue生命周期

Vue生命周期是指Vue实例从创建到销毁期间所经历的所有状态及操作,包括创建、挂载、更新、渲染等一系列过程。Vue的生命周期一共分为8个阶段:创建阶段(beforeCreate、created)、挂载阶段(beforeMount、mounted)、更新阶段(beforeUpdate、updated)、卸载阶段(beforeDestroy、destroyed),其中beforeCreate和created是创建阶段,beforeMount和mounted是挂载阶段。

mounted和created的区别

  1. created
    created是Vue实例被创建完成后的状态,在此阶段已完成了数据观测、属性计算、methods方法绑定,但DOM节点并未被创建,也无法访问到DOM操作。常见的用法是在这个阶段中处理一些数据的初始化和异步请求,也可以在此阶段中注册全局事件。

例如:

// 异步请求示例
created() {
  axios.get('https://api.example.com/data').then(res => {
    this.dataList = res.data
  })
}

// 注册全局事件示例
created() {
  EventBus.$on('event', this.eventHandler)
}
  1. mounted
    mounted是Vue实例挂载到页面完成后的状态,此时Vue实例的DOM节点已经生成,可以进行DOM操作,也可以直接访问DOM节点。经常用于依赖外部库的操作,比如Google Maps的初始化、动态设置元素高度宽度、访问子组件等。

例如:

// Google Maps 初始化示例
mounted() {
  const map = new google.maps.Map(document.getElementById('map'), {
    center: {lat: -34.397, lng: 150.644},
    zoom: 8
  })
}

// 动态设置元素高度示例
mounted() {
  this.$nextTick(() => {
    this.$refs.list.style.height = this.$refs.list.offsetHeight + 'px'
  })
}

// 访问子组件示例
mounted() {
  console.log(this.$refs.childComponent.foo)
}

总结

在Vue生命周期中,created和mounted是属于不同的阶段,其主要区别在于DOM节点的生成和操作时机不同,created用于数据的初始化和异步请求,以及注册全局事件等。而mounted则用于访问DOM节点并进行DOM操作,比如依赖外部库的操作、动态设置元素高度宽度、访问子组件等。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅谈一下Vue生命周期中mounted和created的区别 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • JS iFrame加载慢怎么解决

    那么接下来我将从以下几个方面详细讲解“JS iFrame 加载慢问题”的解决方案。 1. 优化加载页面 iFrame 加载缓慢一般是由于加载页面过大或者页面中包含大量资源导致的。因此,可以从优化加载页面的角度入手来解决这个问题。下面是几种具体的优化方案: 1.1 减小页面体积 尽量减小 iFrame 加载页面的体积,去掉不必要的 CSS 和 JS 文件,并对…

    other 2023年6月25日
    00
  • MyBatis别名和settings设置方式

    MyBatis别名和settings设置方式攻略 1. 别名(Alias)的设置方式 在MyBatis中,可以使用别名来代替完整的类名。这样可以简化代码并提高代码的可读性。下面是设置别名的几种方式: 1.1. 使用typeAliases标签配置别名 使用typeAliases标签在MyBatis的配置文件(mybatis-config.xml)中定义别名。示…

    other 2023年6月28日
    00
  • 安装Windows7时电脑提示缺少所需的CD/DVD驱动器设备驱动程序的原因以及解决方案

    安装Windows7时电脑提示缺少所需的CD/DVD驱动器设备驱动程序的原因以及解决方案 原因 当我们在安装Windows7时,有时会出现电脑提示缺少所需的CD/DVD驱动器设备驱动程序的情况,这种情况通常是由于以下原因导致的: 光驱或USB驱动器的设备驱动程序损坏或不兼容; 主板芯片组或SATA控制器的驱动程序缺失或不兼容; 光盘或USB设备的安装文件损坏…

    other 2023年6月26日
    00
  • 详解Java中的有参构造方法与无参构造方法

    详解Java中的有参构造方法与无参构造方法 Java中的构造方法可以分为无参构造和有参构造,本文将详细讲解二者的区别和用法。 什么是无参构造方法? 无参构造方法是指不需要传入参数的构造方法,也叫默认构造方法。当我们在定义一个类时,如果没有手动定义构造方法,系统会自动为我们生成一个无参构造方法。 class Demo { int i; String s; //…

    other 2023年6月26日
    00
  • C++实现LeetCode(170.两数之和之三 – 数据结构设计)

    C++实现LeetCode(170.两数之和之三 – 数据结构设计) 题目描述 设计并实现一个 TwoSum 类。他需要支持以下操作: add 操作 – 将指定数字添加到内部的数据结构中。 find 操作 – 是否存在任意一对数字之和等于指定的目标值。 示例: TwoSum twoSum; twoSum.add(1); // {1} twoSum.add(3…

    other 2023年6月27日
    00
  • IDEA如何修改配置文件的存放位置

    要修改IDEA的配置文件存放位置,需要按照以下步骤进行操作: 1.在IDEA中打开设置窗口 点击IDEA右上角的“File”菜单,再点击“Settings”进入设置窗口。 2.修改配置文件存放位置 在设置窗口左侧的菜单中选择“Appearance & Behavior”,然后选择“System Settings”。 在“System Settings…

    other 2023年6月25日
    00
  • Centos 7.4中的远程访问控制的实现方法

    CentOS 7.4中实现远程访问控制主要通过两种途径:使用iptables防火墙和使用SELinux安全模块。下面分别进行详细介绍。 使用iptables实现远程访问控制 iptables是Linux中一种优秀的防火墙软件,既可以用于控制本地进出规则,也可以做为一个路由器使用。具体实现步骤如下: 首先检查使用的CentOS 7.4系统是否已默认开启ipta…

    other 2023年6月27日
    00
  • Linux中修改环境变量及生效方法

    下面是关于“Linux中修改环境变量及生效方法”的完整攻略: 一、什么是环境变量 环境变量是一种存储在操作系统中的变量,用于在系统中指定某些应用程序的行为或配置。在Linux中,常见的环境变量包括PATH、HOME、USER等,这些变量会被系统和其他应用程序使用,因此对它们的修改可能会对整个系统产生影响。 二、如何修改环境变量 Linux中修改环境变量有多种…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部