vue.js页面加载执行created,mounted的先后顺序说明

yizhihongxing

Vue.js中,组件的生命周期包括如下几个阶段:创建(creation)、挂载(mounting)、更新(updating)和销毁(destroying)。其中,createdmounted属于创建和挂载阶段,下面详细介绍它们执行的先后顺序。

首先,created钩子函数会在组件实例创建之后立即被调用,此时模板还未渲染成html,因此无法访问到DOM元素。但是你可以在此时访问组件实例的属性和方法。例如,可以进行异步数据请求或者计算属性的初始化。

接下来,mounted钩子函数会在模板渲染成html之后,挂载到页面上之前被调用,此时可以访问到DOM元素。因此,动态计算元素位置、获取DOM元素尺寸、操作DOM元素等都可以在此时进行。值得注意的是,在此阶段中需要确保调用了异步API的数据已经返回并渲染到页面上。

下面分别给出两个示例说明createdmounted的执行顺序。

示例一:组件中定义created、mounted钩子函数

<template>
  <div>
    <h3>{{message}}</h3>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        message: 'Hello, Vue.js!'
      };
    },
    created() {
      console.log('执行created钩子函数');
    },
    mounted() {
      console.log('执行mounted钩子函数');
    }
  };
</script>

在这个示例中,我们定义了一个组件,使用了createdmounted两个钩子函数。控制台输出结果如下:

执行created钩子函数
执行mounted钩子函数

可以看出,created先于mounted执行。

示例二:异步API调用数据

<template>
  <div>
    <ul>
      <li v-for="item in list" :key="item.id">{{item.title}}</li>
    </ul>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        list: []
      };
    },
    created() {
      axios.get('/api/list').then(resp => {
        this.list = resp.data;
        console.log('执行created钩子函数');
      });
    },
    mounted() {
      console.log('执行mounted钩子函数');
    }
  };
</script>

在这个示例中,我们在created中使用axios异步请求数据,并在数据请求成功后将返回结果渲染到页面中。控制台输出结果如下:

执行created钩子函数
执行mounted钩子函数

可以看出,异步数据请求调用了created钩子函数,在异步数据请求返回后,页面渲染完成,最后执行了mounted钩子函数。

综上所述,created钩子函数先于mounted钩子函数执行,created适用于数据初始化和异步API请求数据,mounted适用于访问DOM元素和操作DOM元素。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue.js页面加载执行created,mounted的先后顺序说明 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • Vue.js列表渲染绑定jQuery插件的正确姿势

    Vue.js是一个流行的JavaScript框架,它提供了快速、简单、可复用的前端开发方式。在Vue.js应用中,我们经常需要渲染长列表或表格,这是一个常见的需求。我们可以使用jQuery插件来增强这些列表或表格的功能,但是,Vue.js和jQuery是两种不同的JavaScript库,这意味着我们需要正确地将它们集成到我们的应用中才能实现最优的效果。 下面…

    Vue 2023年5月29日
    00
  • vue关于select组件绑定的值为数字类型的问题

    在 Vue.js 中,我们可以使用v-model指令双向绑定 select 组件的值。但需要注意的是,当绑定值为数字类型时,我们需要特别地处理。 问题描述 默认情况下, select 组件的值是一个字符串类型的值。如果我们尝试将其值绑定到一个数字类型的变量时,我们会发现一个问题:在使用 v-model 更新这个变量的值时,它的值不是数字,而是字符串类型的。 …

    Vue 2023年5月27日
    00
  • 在vue中使用防抖函数组件操作

    在 Vue 中使用防抖函数组件操作的完整攻略如下: 1. 防抖函数的定义 防抖函数是指在一段时间内,如果短时间内连续多次触发同一个函数,只执行最后一次触发的函数,而忽略之前的所有触发操作。它的作用是减少函数执行的频率,避免过度渲染或者频繁请求造成服务器的负担。 通常防抖函数的实现方法有两种,一是通过 setTimeout,一是通过 Promise。 以下是使…

    Vue 2023年5月28日
    00
  • Vue如何循环提取对象数组中的值

    下面我将详细讲解Vue如何循环提取对象数组中的值的完整攻略,并提供两个示例说明。 1. v-for指令循环对象数组 Vue的v-for指令可以循环遍历对象数组,并提取其中的值进行渲染。 例如,有如下数组: var fruits = [ { name: ‘apple’, price: 1 }, { name: ‘banana’, price: 2 }, { n…

    Vue 2023年5月28日
    00
  • Vue判断字符串(或数组)中是否包含某个元素的多种方法

    关于Vue中判断字符串或数组中是否包含某个元素的方法主要有以下几种方式: 字符串判断 includes ES6中新增了字符串方法includes,它返回一个布尔值,表示当前字符串是否包含传入的字符或字符串。 const str = ‘hello world’ console.log(str.includes(‘he’)) // true console.lo…

    Vue 2023年5月27日
    00
  • vue组件watch属性实例讲解

    下面来详细讲解一下“Vue组件watch属性实例讲解”的完整攻略。 1. watch属性简介 在 Vue 组件中,watch 属性是用于监听数据变化并作出相应行为的一种功能。通俗的说,就是当我们需要对某个数据进行监听,并且当数据发生变化时,希望自动执行一些操作,那么就可以使用 watch 属性。 2. watch属性的基础使用 watch 属性的基础使用格式…

    Vue 2023年5月29日
    00
  • vue2.0使用Sortable.js实现的拖拽功能示例

    实现拖拽功能是现代Web应用中常见的需求之一,而Vue.js是目前最受欢迎的JavaScript框架之一。在Vue.js中,我们可以使用第三方库Sortable.js来完成拖拽功能的实现。 下面是实现“vue2.0使用Sortable.js实现的拖拽功能示例”的攻略: 准备工作 使用Vue CLI创建一个新的Vue.js项目。 bash vue create…

    Vue 2023年5月29日
    00
  • js基于div丝滑实现贝塞尔曲线

    下面就是详细讲解“js基于div丝滑实现贝塞尔曲线”的完整攻略。 1. 什么是贝塞尔曲线? 贝塞尔曲线是一种使用平滑曲线连接任意多个点的数学函数,并且通过更改这些点的锚点信息来改变曲线的特性。在前端网站开发中,贝塞尔曲线经常被用来创建各种交互效果,如动画、滑动、转场等。 2. 为什么要基于div实现贝塞尔曲线? 虽然在SVG和canvas中也可以实现贝塞尔曲…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部