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

vue的生命周期

作者:冷血杀手   发布日期:2026-01-04   浏览:63

// Vue 组件的生命周期钩子示例

new Vue({
  el: '#app',
  data() {
    return {
      message: 'Hello Vue!'
    }
  },
  // 在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。
  beforeCreate() {
    console.log('beforeCreate: 实例刚刚被创建,data 和 el 还未初始化');
  },
  // 在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观测 (data observer),属性和方法的运算,watch/event 事件回调。
  created() {
    console.log('created: 实例已创建,data 和 methods 已初始化,但 DOM 还未生成');
  },
  // 在挂载开始之前被调用:相关的 render 函数首次被调用。
  beforeMount() {
    console.log('beforeMount: 模板编译完成,虚拟DOM已创建,即将渲染到页面');
  },
  // el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。
  mounted() {
    console.log('mounted: 实例已挂载,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 事件配置之前被调用。此时 datael 都还未初始化。
  2. created:在实例创建完成后被立即调用。此时 datamethods 已经初始化,但 DOM 还未生成。
  3. beforeMount:模板编译完成,虚拟 DOM 已创建,即将渲染到页面。
  4. mounted:实例已挂载,DOM 已生成,可以操作 DOM 元素了。
  5. beforeUpdate:数据更新,虚拟 DOM 还未更新。
  6. updated:数据更新,DOM 已更新。
  7. beforeDestroy:实例即将销毁,但仍可访问。
  8. destroyed:实例已销毁,无法再访问。

通过这些生命周期钩子,你可以在不同的阶段执行特定的逻辑,例如初始化数据、操作 DOM 或者清理资源等。

上一篇:vue 计算属性

下一篇:vue :class

大家都在看

vue.js devtools用法

vue js for循环

highlight.js vue

vue.config.js 配置

vue.config.js 配置代理

vue.config.js configu

node.js vue

vue3 写法

vue3组件传值的方式

vue3 子路由

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

Laravel 中文站