Vue之生命周期函数详解

下面是Vue的生命周期函数详解:

Vue生命周期函数详解

Vue实例在被创建、挂载/销毁到DOM以及更新等状态时,会触发一些钩子函数,这些钩子函数就被称为Vue的生命周期函数。Vue的生命周期函数可以让我们在组件中的关键事件发生时执行我们自己的代码逻辑。

在Vue中生命周期函数按执行顺序分为以下三类:

  1. 创建阶段:initialization
  2. 更新阶段:mounting, updating, destroying
  3. 渲染阶段:rendering

下面我们对每个生命周期函数进行详细介绍。

创建阶段

beforeCreate

在实例初始化之后,数据观测和事件配置之前被调用。

示例:

new Vue({
  beforeCreate: function() {
    console.log('beforeCreate')
  }
})

created

实例创建完成后被立即调用。在这一步中,实例已经完成了数据观测和事件配置,但尚未开始DOM编译和挂载。

示例:

new Vue({
  created: function() {
    console.log('created')
  }
})

更新阶段

beforeMount

在挂载开始之前被调用:相关的render函数首次被调用。

示例:

new Vue({
  beforeMount: function() {
    console.log('beforeMount')
  }
})

mounted

在el被新创建的vm.$el替换,并挂载到实例上去之后调用的钩子函数。

示例:

new Vue({
  mounted: function() {
    console.log('mounted')
  }
})

beforeUpdate

数据更新时调用,发生在虚拟DOM重新渲染和打补丁之前。

示例:

new Vue({
  beforeUpdate: function() {
    console.log('beforeUpdate')
  }
})

updated

由于数据更改导致的虚拟DOM重新渲染和打补丁操作完成后调用。

示例:

new Vue({
  updated: function() {
    console.log('updated')
  }
})

beforeDestroy

实例销毁之前调用。在这一步,实例仍然完全可用。

示例:

new Vue({
  beforeDestroy: function() {
    console.log('beforeDestroy')
  }
})

destroyed

实例销毁后调用。销毁后,Vue实例指示的所有东西都解除绑定,所有的事件监听器,所有子实例也被销毁。在这一步,实例已经被完全解除,不能够访问任何属性和方法。

示例:

new Vue({
  destroyed: function() {
    console.log('destroyed')
  }
})

渲染阶段

render

作用:创建虚拟DOM,并渲染到页面。

示例:

new Vue({
  render: function(createElement) {
    return createElement('div', 'Hello, World!')
  }
})

以上就是Vue的生命周期函数的详细介绍。在业务开发中,开发者常用的生命周期函数有created、mount和destroyed。需要注意的是,不同的业务场景需要使用不同的生命周期函数。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Vue之生命周期函数详解 - Python技术站

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

相关文章

  • Vue3中ref与reactive的详解与扩展

    接下来我将详细讲解“Vue3中ref与reactive的详解与扩展”的完整攻略。 1. 介绍 Vue3是Vue.js的一个重大更新版本,其中ref和reactive是两个新的响应式API。在Vue3中,ref用于创建一个简单的响应式数据,而reactive用于创建一个包含多个响应式数据的响应式对象。本攻略将详细介绍Vue3中ref与reactive的使用方法…

    Vue 2023年5月28日
    00
  • Vue高版本中一些新特性的使用详解

    Vue高版本中一些新特性的使用详解 1. 静态属性 $attrs 和 $listeners 在 Vue 2.x 版本中,父组件给子组件传递 props 属性的时候,必须要在子组件中声明该属性才能够正常接收。而在 Vue 3.x 版本中,为了方便,可以使用 v-bind=”$attrs” 将所有非 prop 的属性传递给子组件,子组件可以在 $attrs 中获…

    Vue 2023年5月27日
    00
  • 如何手写一个简易的 Vuex

    首先,我们需要明确什么是 Vuex, Vuex 是 Vue.js 应用程序的状态管理模式,它采用集中式存储管理应用的所有组件的状态,我们可以将这个状态类比一个容器,这个容器里保存着整个应用的状态,而组件只能通过事件的形式来修改这个容器中的状态。下面我们来讲解手写一个简易的 Vuex 的过程。 步骤一:实现 store 在 Vuex 中,我们通过创建一个 St…

    Vue 2023年5月27日
    00
  • vue keep-alive的简单总结

    下面我来为你详细讲解 “Vue Keep-alive 的简单总结”攻略。 什么是 Vue Keep-alive? Vue Keep-alive是 Vue 组件中的一个内置组件。它的作用是用来缓存组件,能够保留它们的状态或避免重新渲染。通俗来说,就是把需要缓存的组件分别缓存起来,当需要重新渲染这些组件时,从缓存里面调用,而不是重新渲染一个新的组件。 Vue K…

    Vue 2023年5月27日
    00
  • vue日历/日程提醒/html5本地缓存功能

    Vue日历/日程提醒攻略 简介 在Vue中实现日历/日程提醒功能,可以帮助用户更好地规划时间并且提醒用户该做什么。这里介绍一种通过使用Vue.js及相关的插件来实现 Vue日历/日程提醒的方法 开发环境 Vue.js(2.0+) vue-calendar-component(一个简单好用的Vue日历组件) vue-notification(Vue提醒/通知组…

    Vue 2023年5月29日
    00
  • Vue实现数据导出导入实战案例

    为了实现Vue的数据导入导出功能,我们需要遵循以下步骤: 第一步:安装依赖 使用Vue.js来实现数据导入导出功能需要安装以下依赖项: FileSaver.js:用于在浏览器下载文件; XLSX.js:Excel文件的解析和生成库。 可以通过npm安装这些依赖项: npm install file-saver xlsx –save 第二步:导入需要Expo…

    Vue 2023年5月27日
    00
  • 详谈Object.defineProperty 及实现数据双向绑定

    详谈Object.defineProperty 及实现数据双向绑定 Object.defineProperty 在 JavaScript 中,可以使用 Object.defineProperty() 方法来定义或修改一个对象的属性。该方法可以为一个对象的指定属性设置各种特性,包括值、可枚举性、可配置性和可写性等。 该方法的语法如下: Object.defin…

    Vue 2023年5月27日
    00
  • vue3+ts中ref与reactive指定类型实现示例

    下面我将为你详细讲解“vue3+ts中ref与reactive指定类型实现示例”的完整攻略。 一、Ref 1.1 简介 在 Vue 3 中,ref 是一个函数,它可以创建一个响应式数据,ref 函数返回一个对象,对象中包含着响应式数据的值。 1.2 使用 使用 ref 创建响应式数据的格式如下: import { ref } from ‘vue’; cons…

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