vue中created和mounted的区别浅析

Vue中created和mounted的区别浅析

1. 概述

createdmounted两个生命周期函数是Vue中常用的两个函数,二者在Vue的生命周期中都扮演着重要的角色,但二者却存在着不同的特征。本篇文章将围绕Vue中createdmounted的区别进行分析,帮助Vue初学者更好的理解它们的作用。

2. created

created函数是Vue的一个生命周期钩子函数,在实例化Vue实例之后,该函数会在实例创建完成后立即被调用。在created函数中,我们可以进行一些Vue实例的初始化工作,例如:对实例中的数据、方法进行初始化赋值。

以下是一个示例:

new Vue({
  data: {
    message: 'Hello Vue.js!'
  },
  created: function () {
    console.log('message is: ' + this.message)
  }
})

在以上示例中,我们定义了一条数据message,并在created函数中输出了message的内容。通过打开控制台,我们可以看到控制台输出了"message is: Hello Vue.js!"的信息。

3. mounted

mounted函数也是Vue的一个生命周期钩子函数,在Vue实例完成挂载之后,该函数会在数据渲染时间结束后被调用。在mounted函数中,我们可以进行一些跟DOM元素进行交互、操作的任务。

以下是一个示例:

new Vue({
  el: '#app',
  data: {
    message: 'Hello Vue.js!'
  },
  mounted: function () {
    var el = document.getElementsByTagName('h1')[0]
    console.log('DOM content is: ' + el.innerHTML)
  }
})

在以上示例中,我们在Vue实例中定义了一个id为"app"的元素,并在mounted函数中获取其中第一个<h1>标签,并输出其内部内容。待数据渲染完毕后再打开控制台,可以看到输出了"DOM content is: Hello Vue.js!"的信息。

4. 区别与应用场景

createdmounted在执行的时间点上存在区别,created在实例创建完毕后立即调用,而mounted需要等到数据渲染完毕后才会被调用。这也就决定了二者之间的应用场景有所不同。

以下是根据二者的区别所能做的一些事情:

  1. created中可以进行数据初始化、第三方插件会操作数据、监听事件等操作;
  2. mounted中可以访问组件DOM元素、执行jQuery(需要在mounted之后引入jQuery)等操作。

既然二者存在的应用场景不同,那么我们就要根据需要合理使用。比如,如果我们需要进行异步请求数据,加载组件,就需要在created中处理;而如果我们需要通过JS修改DOM元素,由于可能涉及到元素渲染,所以这时候就需要在mounted中进行操作。

5. 示例

为了更好地对上面提到的这些应用场景进行理解和掌握,下面提供几个具体的案例供参考。

5.1 示例一:数据初始化赋值

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Vue Created and Mounted Demo</title>
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
  <div id="app">
    <p>Message is: {{ message }}</p>
  </div>
  <script>
    new Vue({
      el: '#app',
      created: function () {
        this.message = 'Hello Vue'
      }
    })
  </script>
</body>
</html>

如上所示,我们在Vue实例中,通过created函数,对数据进行初始化并将message的值置为"Hello Vue"。

5.2 示例二:jQuery操作DOM

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Vue Created and Mounted Demo</title>
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
  <div id="app">
    <p v-text="message"></p>
  </div>
  <script>
    new Vue({
      el: '#app',
      data: {
        message: 'Hello Vue.js!'
      },
      mounted: function () {
        $('#app').css('background-color', 'yellow')
      }
    })
  </script>
</body>
</html>

如上所示,我们在Vue实例中,通过mounted函数,引入了jQuery,并对应用的背景颜色进行了修改。

6. 总结

createdmounted是Vue生命周期中两个常用的钩子函数,它们在执行的时间点上存在区别,在实际应用中要根据需要进行使用。在created中我们可以进行数据初始化、第三方插件会操作数据、监听事件等操作;在mounted中我们可以访问组件DOM元素、执行jQuery等操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue中created和mounted的区别浅析 - Python技术站

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

相关文章

  • iOS设备管理器激活步骤 一键激活苹果系统管理器

    为了帮助读者更好地理解iOS设备管理器激活步骤及一键激活苹果系统管理器的攻略,本文将采用Markdown格式,对该主题进行详细的讲解,在过程中包含两条示例说明。 什么是iOS设备管理器? iOS设备管理器是一种用于管理iOS设备的软件,可帮助管理员定位、锁定、重置和清除丢失的设备,同时使组织内所有设备保持最新状态。它还提供了一些必要的安全措施,如强制密码保护…

    other 2023年6月27日
    00
  • Bootstrap中的fileinput 多图片上传及编辑功能

    “Bootstrap中的fileinput 多图片上传及编辑功能”是一个非常有用的功能,它可以帮助我们在页面中实现上传、删除、编辑多张图片的功能。下面我将详细讲解在Bootstrap中如何实现这个功能。 使用Bootstrap中的fileinput插件 要实现多图片上传及编辑功能,我们需要使用Bootstrap中的fileinput插件。这个插件可以将一个i…

    other 2023年6月20日
    00
  • 尼尔机械纪元加载时间长怎么解决 游戏loading时间太长解决方法

    尼尔机械纪元加载时间长解决方法 问题分析 尼尔机械纪元是一款高度画质的游戏,加载时间长是较为普遍的问题。为解决此问题,我们需要从以下几个方面入手。 游戏所处设备的硬件配置。 游戏安装路径的选择。 优化游戏本身的设置。 解决方案 方案一:升级硬件 游戏需要配置高端显卡、大容量内存等硬件,所以升级硬件是解决加载时间长问题的很有效的方法。以下是升级硬件的推荐方案:…

    other 2023年6月25日
    00
  • Windows 10 10162 64位/32位IOS镜像下载 RTM前最后一版

    很抱歉,但我无法提供关于非法软件下载的指导或支持。我鼓励您遵守软件许可协议和法律法规,以合法的方式获取软件。如果您有任何其他问题或需要其他帮助,请随时告诉我。

    other 2023年7月28日
    00
  • java-bigdecimal减法 结果为负

    在Java中,使用BigDecimal类进行数值计算时,可能会出现减法结果为负数的情况。这是由于BigDecimal类的精度和舍入模式的设置不当所导致的。本文详细介绍何解决BigDecimal减法结果为负数的问题,并提供两个示例说明。 问题描述 在Java中,使用BigDecimal`类减法计算时,可能会出现结果为负数的情况。例如,以下代码: BigDeci…

    other 2023年5月7日
    00
  • MySQL中索引优化distinct语句及distinct的多字段操作

    MySQL中索引优化distinct语句及distinct的多字段操作 什么是DISTINCT语句?DISTINCT语句是MySQL中一种常用的筛选数据的方法,它可以去重并返回一个不包含重复数据的结果集,方便开发人员快速获取数据集中的唯一值。 索引优化DISTINCT语句的方法2.1 创建索引为了优化DISTINCT语句的性能,我们可以创建索引来加速数据的查…

    other 2023年6月25日
    00
  • Java使用OTP动态口令(每分钟变一次)进行登录认证

    Java使用OTP动态口令进行登录认证,是一种安全可靠的身份认证方式。OTP即One-Time Password,即一次性密码,它每分钟会生成一个新的动态口令,用于用户的登录认证。下面是Java使用OTP动态口令进行登录认证的完整攻略: 首先,需要导入以下依赖: <dependency> <groupId>com.warrenstra…

    other 2023年6月27日
    00
  • 总结一些你可能不知道的ip地址

    总结一些你可能不知道的IP地址攻略 在互联网上,IP地址是用于标识和定位设备的唯一数字地址。大多数人熟悉常见的IP地址,如192.168.0.1或者8.8.8.8,但是还有许多其他的IP地址可能会让你感到惊讶。以下是一些你可能不知道的IP地址的示例: 1. 127.0.0.1 这是一个特殊的IP地址,被称为\”本地回环地址\”或\”环回地址\”。它用于在本地…

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