首页 > 其他分享 >【vue深入学习第1章】探索 Vue 2 的生命周期:从创建到销毁

【vue深入学习第1章】探索 Vue 2 的生命周期:从创建到销毁

时间:2024-07-15 14:54:34浏览次数:13  
标签:生命周期 console log 实例 vue 调用 Vue

Vue.js 是一个渐进式的 JavaScript 框架,用于构建用户界面。理解 Vue 的生命周期是掌握这个框架的关键之一。在这篇博客中,我们将深入探讨 Vue 2 的生命周期,并通过代码示例来展示每个生命周期钩子的作用。

Vue 实例的生命周期

Vue 实例的生命周期可以分为四个主要阶段:

  1. 创建阶段:初始化事件和生命周期钩子。
  2. 挂载阶段:将模板编译成 DOM 并挂载到实例上。
  3. 更新阶段:当响应式数据变化时,重新渲染 DOM。
  4. 销毁阶段:清理实例,解绑事件和 DOM。

生命周期钩子

Vue 提供了一系列的生命周期钩子函数,让我们可以在实例的不同阶段执行代码。以下是 Vue 2 的生命周期钩子:

  1. beforeCreate
  2. created
  3. beforeMount
  4. mounted
  5. beforeUpdate
  6. updated
  7. activated
  8. deactivated
  9. beforeDestroy
  10. destroyed

代码示例

我们通过一个简单的 Vue 实例来演示这些生命周期钩子的使用。

<!DOCTYPE html>
<html>
<head>
<title>Vue 2 Lifecycle Example</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
</head>
<body>
<div id="app">
<p>{{ message }}</p>
<button @click="updateMessage">Update Message</button>
</div>

<script>
new Vue({
el: '#app',
data: {
message: 'Hello, Vue!'
},
beforeCreate() {
console.log('beforeCreate: 实例初始化之前');
},
created() {
console.log('created: 实例已经创建');
},
beforeMount() {
console.log('beforeMount: 模板编译之前');
},
mounted() {
console.log('mounted: 模板已经挂载');
},
beforeUpdate() {
console.log('beforeUpdate: 数据更新之前');
},
updated() {
console.log('updated: 数据更新之后');
},
beforeDestroy() {
console.log('beforeDestroy: 实例销毁之前');
},
destroyed() {
console.log('destroyed: 实例已经销毁');
},
methods: {
updateMessage() {
this.message = 'Message Updated!';
}
}
});
</script>
</body>
</html>

解释

  1. beforeCreate:在 Vue 实例初始化之前调用,此时数据和事件都还没有被初始化。
  2. created:在实例创建完成后调用,此时数据和事件都已经被初始化,但模板还没有编译。
  3. beforeMount:在挂载开始之前调用,相关的 render 函数首次被调用。
  4. mounted:在挂载完成后调用,此时 DOM 已经被渲染。
  5. beforeUpdate:在数据更新之前调用,发生在虚拟 DOM 重新渲染和打补丁之前。
  6. updated:在由于数据更改导致的虚拟 DOM 重新渲染和打补丁之后调用。
  7. beforeDestroy:在实例销毁之前调用,此时实例仍然完全可用。
  8. destroyed:在实例销毁之后调用。调用后,Vue 实例指示的所有东西都会解绑,所有的事件监听器会被移除,所有的子实例也会被销毁。

总结

理解 Vue 的生命周期钩子可以帮助我们在适当的时间点执行代码,从而更好地控制应用的行为。通过这些钩子,我们可以在实例的创建、更新和销毁过程中插入自定义逻辑,满足各种需求。

百万大学生都在用的AI写论文工具,篇篇无重复

标签:生命周期,console,log,实例,vue,调用,Vue
From: https://www.cnblogs.com/zhizu/p/18303155

相关文章

  • Vue3+Element Plus 使用sortablejs对el-table表格进行拖拽
    sortablejs官网:点击跳转一、安装sortablejsnpminstallsortablejs--save二、 页面按需引入importSortablefrom'sortablejs';三、组件方法1.temlate:<template><el-tableref="tableHeader":data="tableData"row-key="id"style=&quo......
  • vue3+Element Plus 自定义表格单选 多选
    项目背景:用vue3+elementplus做一套考试系统功能场景:添加试题中分为客观题、主观题两种类型,在客观题会出现单选题、多选题两种类型就会导致单选题只能勾选一个答案、多选题能勾选多个答案。效果图废话不说直接上代码<el-buttonclass="btn"icon="Plus"plainst......
  • Vue2中的进度条案例
     v-bind对于样式控制的增强--操作style语法::style=“样式对象”适用于某个具体属性的动态设置<divclass="box":style="{css属性名1:css属性值,css属性名2:css属性值}"></div><!DOCTYPEhtml><htmllang="en"><head><metacharset=......
  • 基于SpringBoot+MySQL+SSM+Vue.js的购物商城系统(附论文)
    获取见最下方名片获取见最下方名片获取见最下方名片演示视频基于SpringBoot+MySQL+SSM+Vue.js的购物商城系统(附论文)技术描述开发工具:Idea/Eclipse数据库:MySQLJar包仓库:Maven前端框架:Vue/ElementUI后端框架:Spring+SpringMVC+Mybatis+SpringBoot文字描......
  • 基于SpringBoot+MySQL+SSM+Vue.js的家政公司服务平台系统(附论文)
    获取见最下方名片获取见最下方名片获取见最下方名片演示视频基于SpringBoot+MySQL+SSM+Vue.js的家政公司服务平台系统(附论文)技术描述开发工具:Idea/Eclipse数据库:MySQLJar包仓库:Maven前端框架:Vue/ElementUI后端框架:Spring+SpringMVC+Mybatis+SpringBoo......
  • 基于java+springboot+vue实现的企业级工位管理系统(文末源码+Lw)120
    基于SpringBoot+Vue的实现的企业级工位管理系统(源码+数据库+万字Lun文+流程图+ER图+结构图+ppt+演示视频+软件包)系统功能:本企业级工位管理系统管理员和员工。管理员功能有个人中心,部门信息管理,工位信息管理,使用情况管理,工位分配管理。员工可以查看个人中心,部门信息,和工位分......
  • 基于java+springboot+vue实现的共享汽车管理系统(文末源码+Lw)118
    基于SpringBoot+Vue的实现的共享汽车管理系统(源码+数据库+万字Lun文+流程图+ER图+结构图+开题报告+演示视频+软件包)系统功能:本共享汽车管理系统有管理员和用户。管理员功能有个人中心,用户管理,投放地区管理,汽车信息管理,汽车投放管理,汽车入库管理,使用订单管理,汽车归还管理。用......
  • 基于java+springboot+vue实现的中药实验管理系统(文末源码+Lw)124
     基于SpringBoot+Vue的实现的中药实验管理系统(源码+数据库+万字Lun文+流程图+ER图+结构图+开题报告+演示视频+软件包)系统功能:本中药实验管理系统有管理员,教师,学生,实验员。管理员功能有个人中心,学生管理,教师管理,实验员管理,实验教学管理,在线学习管理,实验信息管理,实验预约管......
  • 基于java+springboot+vue实现的网上商城系统(文末源码+Lw)123
     基于SpringBoot+Vue的实现的网上商城系统(源码+数据库+万字Lun文+流程图+ER图+结构图+演示视频+软件包)系统功能:用户信息管理页面,此页面提供给管理员的功能有:用户信息的查询管理,可以删除用户信息、修改用户信息、新增用户信息商品分类管理页面,此页面提供给管理员的功能有:查......
  • 基于java+springboot+vue实现的企业级工位管理系统(文末源码+Lw)120
     基于SpringBoot+Vue的实现的企业级工位管理系统(源码+数据库+万字Lun文+流程图+ER图+结构图+ppt+演示视频+软件包)系统功能:本企业级工位管理系统管理员和员工。管理员功能有个人中心,部门信息管理,工位信息管理,使用情况管理,工位分配管理。员工可以查看个人中心,部门信息,和工位......