首页 > 其他分享 >Vue 生命周期

Vue 生命周期

时间:2023-10-11 15:26:47浏览次数:39  
标签:生命周期 console log 销毁 beforeDestroy Vue

Vue 生命周期

Vue 生命周期指的是 Vue 实例从创建到销毁整个过程

Vue 生命周期函数

Vue 生命周期函数(或生命周期回调函数、生命周期钩子)指的是在 Vue 生命周期的特定关键时间点被 Vue 自动调用的一些特殊函数

注意事项
  • 生命周期函数的名字不可更改,但函数的具体内容是程序员根据需求编写的
  • 生命周期函数中的 this 指向是 vm 或 组件实例对象

Vue 生命周期流程图

官网:

尚硅谷_前端技术_Vue全家桶

详细版:

生命周期

生命周期分析

1. 初始化显示
  • beforeCreate()
  • created()
  • beforeMount()
  • mounted()
2. 更新状态:this.xxx = value
  • beforeUpdate()
  • updated()
3. 销毁 Vue 实例 vm.$destory()
  • beforeDestroy()
  • destroyed()

常用的生命周期方法

1. mounted()

发送 ajax 请求,、启动定时器、绑定自定义事件、订阅消息等异步任务(初始化操作)

2. beforeDestroy()

做收尾工作, 如: 清除定时器、解绑自定义事件、取消订阅消息等(首尾工作)

销毁 Vue 实例注意事项

  1. 销毁后借助 Vue 开发者工具看不到任何信息
  2. 销毁后自定义事件会失效,但原生 DOM 事件依然有效
  3. 一般不会在 beforeDestroy 操作数据,因为即便操作数据,也不会再触发更新流程
案例代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>分析生命周期</title>
		<!-- 引入Vue -->
		<script type="text/javascript" src="../js/vue.js"></script>
	</head>
	<body>
		<!-- 准备好一个容器-->
		<div id="root" :x="n">
			<h2 v-text="n"></h2>
			<h2>当前的n值是:{{n}}</h2>
			<button @click="add">点我n+1</button>
			<button @click="bye">点我销毁vm</button>
		</div>
	</body>

	<script type="text/javascript">
		Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。

		new Vue({
			el:'#root',
			// template:`
			// 	<div>
			// 		<h2>当前的n值是:{{n}}</h2>
			// 		<button @click="add">点我n+1</button>
			// 	</div>
			// `,
			data:{
				n:1
			},
			methods: {
				add(){
					console.log('add')
					this.n++
				},
				bye(){
					console.log('bye')
					this.$destroy()
				}
			},
			watch:{
				n(){
					console.log('n变了')
				}
			},
			beforeCreate() {
				console.log('beforeCreate')
			},
			created() {
				console.log('created')
			},
			beforeMount() {
				console.log('beforeMount')
                  // debugger // 使用 debugger 语句类似于在代码中设置断点
			},
			mounted() {
				console.log('mounted')
			},
			beforeUpdate() {
				console.log('beforeUpdate')
			},
			updated() {
				console.log('updated')
			},
			beforeDestroy() {
				console.log('beforeDestroy')
			},
			destroyed() {
				console.log('destroyed')
			},
		})
	</script>
</html>

标签:生命周期,console,log,销毁,beforeDestroy,Vue
From: https://www.cnblogs.com/binbingg/p/17757240.html

相关文章

  • vue3+vite import 引入ThreeBSP库 报错
    我在网上查了一下先用npm下载了三方包npmithree-js-csg再使用constThreeBSP=require('three-js-csg')(THREE)的方法引入出现了这个报错查了是因为require是webpack里的vite不支持所以找不到然后我就尝试使用import的方法引入importThreeBSPfrom'three-js......
  • 竟然可以在一个项目中混用 Vue 和 React?
    React和Vue是前端开发中的两大热门框架,各自都有着强大的功能和丰富的生态系统。然而,你有没有想过,在一个项目中同时使用React和Vue?是的,你没有听错,可以在同一个项目中混用这两个框架!本文就来分享3个用于混合使用React和Vue的工具!#VeauryVeaury是一个基于React和Vue3的工具......
  • vite.config.js base 与 vue-router base
    vite.config.jsbase决定了打包后,资源引用的前缀base:'/hlw/'linkref='/hlw/assets'打包后的dist要放到/hlw路径下base的值与process.env.BASE_URL、import.meta.env.BASE_URL一致vuerouter的base决定了,多页面的访问路径当vite.config.js与router中的base......
  • vue项目个人配置
    src/assets/base.css:root{--html-bg-color:#ffffff;}html.dark{--html-bg-color:#242424;}src/assets/reset.css/***EricMeyer'sResetCSSv2.0(http://meyerweb.com/eric/tools/css/reset/)*http://cssreset.com*/html,body,div,span,......
  • 将Vue3项目部署到Github Pages
    1.创建vue3项目$npminitvue@latest初始化工程,并验证。2.创建github仓库3.连接vue项目到github仓库打开vue项目根目录,初始化本地git仓库$gitinit$gitadd.$gitcommit-m"init"连接vue项目到第二步创建的github仓库$gitremoteaddoriginhttps://gith......
  • Vue3常用库安装
    目录Pinia引入使用ElementPlus安装完整引入Volar支持按需导入-自动导入unocss&Icon安装unocss安装Icon库使用动态引用图标Iconify安装使用Pinia引入//main.tsimport{createPinia,typePiniaPluginContext}from"pinia";const__piniaKey='__PINIAKEY__'typeOpti......
  • Vue3 + Electron
    https://www.electronjs.org/https://www.electron.build/1.创建一个vue3项目可参考之前的笔记2.安装Electron$npminstallelectron-D$npminstallvite-plugin-electron-D根目录下新建electron/index.ts,修改vite.config.ts配置文件//vite.config.tsimport{......
  • 生命周期
    这个是构建插件 ......
  • spoot-vue学习
    1、创建Vue项目(需要提前搭建好环境)启动cmd,进入到文件夹路径,输入以下命令,回车vueinitwebpackmyvue其中myvue是项目的名称 2、创建完成后,使用IDEA导入此vue项目在控制台中输入npminstall安装依赖环境 安装完成后,输入npminstall--saveaxiosvue-axios安装ax......
  • Vue
    #VUE2**渐进式JavaScript框架**通过AJAX请求将从Web服务器获取的数据显示到界面上##搭建开发环境1)下载Vue.js库https://cn.vuejs.org/2)用<script>引入Vue.js库`<!--引入Vue-->`<scripttype="text/javascript"src="../js/vue.js"></script>1.想让Vue工作,就必须创建一个Vue......