Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

vue 生命周期函数

作者:幸福的起点   发布日期:2026-03-11   浏览:75

// Vue 生命周期函数示例

// 引入 Vue
import Vue from 'vue';

// 创建一个 Vue 实例
new Vue({
  // 挂载元素
  el: '#app',

  // 数据属性
  data: {
    message: 'Hello Vue!'
  },

  // 生命周期钩子函数

  // 在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。
  beforeCreate() {
    console.log('beforeCreate: 实例初始化之后,此时 this 还不能访问到 data、methods 等选项');
  },

  // 在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观测 (data observer),属性和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,$el 属性目前不可见。
  created() {
    console.log('created: 实例创建完成,可以访问到 data、methods 等选项,但 DOM 还未生成');
  },

  // 在挂载开始之前被调用:相关的 render 函数首次被调用。
  beforeMount() {
    console.log('beforeMount: 模板编译完成,虚拟DOM树已经生成,但还未渲染到页面上');
  },

  // el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。如果根实例挂载到了一个文档内的元素上,当 mounted 被调用时 vm.$el 也在文档内。
  mounted() {
    console.log('mounted: DOM 渲染完成,可以操作 DOM 元素了');
  },

  // 数据更新时调用,发生在虚拟 DOM 打补丁之前。这里适合在更新之前访问现有的 DOM,比如手动移除已添加的事件监听器。
  beforeUpdate() {
    console.log('beforeUpdate: 数据更新时调用,在虚拟 DOM 打补丁之前');
  },

  // 由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。
  updated() {
    console.log('updated: DOM 更新完成');
  },

  // 实例销毁之前调用。在这一步,实例仍然完全可用。
  beforeDestroy() {
    console.log('beforeDestroy: 实例销毁之前调用,实例仍然完全可用');
  },

  // Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。
  destroyed() {
    console.log('destroyed: 实例销毁完成');
  }
});

解释说明:

  1. beforeCreate:在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。此时 this 还不能访问到 datamethods 等选项。
  2. created:在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观测 (data observer),属性和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,$el 属性目前不可见。
  3. beforeMount:在挂载开始之前被调用:相关的 render 函数首次被调用。模板编译完成,虚拟DOM树已经生成,但还未渲染到页面上。
  4. mountedel 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。如果根实例挂载到了一个文档内的元素上,当 mounted 被调用时 vm.$el 也在文档内。
  5. beforeUpdate:数据更新时调用,发生在虚拟 DOM 打补丁之前。这里适合在更新之前访问现有的 DOM,比如手动移除已添加的事件监听器。
  6. updated:由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。
  7. beforeDestroy:实例销毁之前调用。在这一步,实例仍然完全可用。
  8. destroyed:Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。

通过这些生命周期钩子,我们可以在不同的阶段执行特定的操作,确保应用的行为符合预期。

上一篇:vue3 useattrs

下一篇:vue2组件传值

大家都在看

vue.js devtools用法

three.js vue

vue js for循环

vue.min.js 本地引入

highlight.js vue

vue.config.js 配置

vue.config.js 配置代理

vue.config.js configu

node.js vue

vue3 写法

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站