VUE 2X 生命周期 ⑩①

news2025/1/17 6:11:00

目录

  • 文章有误请指正,如果觉得对你有用,请点三连一波,蟹蟹支持✨
  • V u e j s Vuejs Vuejs
  • 初见生面周期
  • 分析生命周期
  • 生命周期总结
  • 总结


文章有误请指正,如果觉得对你有用,请点三连一波,蟹蟹支持✨

                    ⡖⠒⠒⠒⠤⢄⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸   ⠀⠀⠀⡼⠀⠀⠀⠀ ⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢶⣲⡴⣗⣲⡦⢤⡏⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠋⠉⠉⠓⠛⠿⢷⣶⣦⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠇⠀⠀⠀⠀⠀⠀⠘⡇⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡞⠀⠀⠀⠀⠀⠀⠀⢰⠇⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⡴⠊⠉⠳⡄⠀⢀⣀⣀⡀⠀⣸⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢸⠃⠀⠰⠆⣿⡞⠉⠀⠀⠉⠲⡏⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠈⢧⡀⣀⡴⠛⡇⠀⠈⠃⠀⠀⡗⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣱⠃⡴⠙⠢⠤⣀⠤⡾⠁⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢀⡇⣇⡼⠁⠀⠀⠀⠀⢰⠃⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣸⢠⣉⣀⡴⠙⠀⠀⠀⣼⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⡏⠀⠈⠁⠀⠀⠀⠀⢀⡇⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢸⠃⠀⠀⠀⠀⠀⠀⠀⡼⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀⠀⣰⠃⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣀⠤⠚⣶⡀⢠⠄⡰⠃⣠⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⢀⣠⠔⣋⣷⣠⡞⠀⠉⠙⠛⠋⢩⡀⠈⠳⣄⠀⠀⠀⠀⠀⠀⠀
⠀⡏⢴⠋⠁⠀⣸⠁⠀⠀⠀⠀⠀ ⠀⣹⢦⣶⡛⠳⣄⠀⠀⠀⠀⠀
⠀⠙⣌⠳⣄⠀⡇   不能   ⡏⠀⠀  ⠈⠳⡌⣦⠀⠀⠀⠀
⠀⠀⠈⢳⣈⣻⡇   白嫖 ⢰⣇⣀⡠⠴⢊⡡⠋⠀⠀⠀⠀
⠀⠀⠀⠀⠳⢿⡇⠀⠀⠀⠀⠀⠀⢸⣻⣶⡶⠊⠁⠀⠀
⠀⠀⠀⠀⠀⢠⠟⠙⠓⠒⠒⠒⠒⢾⡛⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⣠⠏⠀⣸⠏⠉⠉⠳⣄⠀⠙⢆⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⡰⠃⠀⡴⠃⠀⠀⠀⠀⠈⢦⡀⠈⠳⡄⠀⠀⠀⠀⠀⠀⠀
⠀⠀⣸⠳⣤⠎⠀⠀⠀⠀⠀⠀⠀⠀⠙⢄⡤⢯⡀⠀⠀⠀⠀⠀⠀
⠀⠐⡇⠸⡅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⡆⢳⠀⠀⠀⠀⠀⠀
⠀⠀⠹⡄⠹⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣇⠸⡆⠀⠀⠀⠀⠀
⠀⠀⠀⠹⡄⢳⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⡀⣧⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢹⡤⠳⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣷⠚⣆⠀⠀⠀⠀
⠀⠀⠀⡠⠊⠉⠉⢹⡀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡎⠉⠀⠙⢦⡀⠀
⠀⠀⠾⠤⠤⠶⠒⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠒⠲⠤⠽   

提示:以下是本篇文章正文内容

V u e j s Vuejs Vuejs


简介 : Vue 是一套用于构建用户界面的 渐进式 框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

  • 官方
  1. 中文 : https://cn.vuejs.org/
  2. 英文 : https://vuejs.org/
  3. Vue2API : https://v2.cn.vuejs.org/
  4. Vue2 相关包 : https://github.com/vuejs/awesome-vue
  5. Vue2 入门安装官方 :https://v2.cn.vuejs.org/v2/guide/installation.html
  6. Vue 相关插件 : https://awesomejs.dev/for/vue/

初见生面周期

— 代码演示 🎊

<!-- 
	生命周期:Mounted → 初始
	1.又名:生命周期回调函数、生命周期函数、生命周期钩子。
	2.是什么:Vue在关键时刻帮我们调用的一些特殊名称的函数。
	3.生命周期函数的名字不可更改,但函数的具体内容是程序员根据需求编写的。
	4.生命周期函数中的this指向是vm 或 组件实例对象。
-->
<!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">
		<h2 v-if="a">你好啊</h2>
		<h2 :style="{opacity}">欢迎学习Vue</h2>
	</div>
</body>

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

	new Vue({
		el: '#root',
		data: {
			a: false,
			opacity: 1
		},
		methods: {
			//指数大爆炸
		},
		//Vue完成模板的解析并把初始的真实DOM元素放入页面后(挂载完毕)调用Mounted 不推荐外部使用Mounted
		mounted() {
			console.log('mounted', this)
			setInterval(() => {
				this.opacity -= 0.01
				if (this.opacity <= 0) this.opacity = 1
			}, 16)
		},
	})

</script>

</html>

分析生命周期

— 代码演示 🎊

<!-- 
	生命周期:beforeCreate、beforeMount、mounted、beforeUpdate、updated、beforeDestroy、destroyed
	1.又名:生命周期回调函数、生命周期函数、生命周期钩子。
	2.是什么:Vue在关键时刻帮我们调用的一些特殊名称的函数。
	3.生命周期函数的名字不可更改,但函数的具体内容是程序员根据需求编写的。
	4.生命周期函数中的this指向是vm 或 组件实例对象。
-->
<!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')
		},
		mounted() {
			console.log('mounted')
		},
		beforeUpdate() {
			console.log('beforeUpdate')
		},
		updated() {
			console.log('updated')
		},
		beforeDestroy() {
			console.log('beforeDestroy')
		},
		destroyed() {
			console.log('destroyed')
		},
	})
</script>

</html>

生命周期总结

— 代码演示 🎊

	<!-- 
			常用的生命周期钩子:
				1.mounted: 发送ajax请求、启动定时器、绑定自定义事件、订阅消息等【初始化操作】。
				2.beforeDestroy: 清除定时器、解绑自定义事件、取消订阅消息等【收尾工作】。

			关于销毁Vue实例
				0.vm.$destory()
				1.销毁后借助Vue开发者工具看不到任何信息。
				2.销毁后自定义事件会失效,但原生DOM事件依然有效。
				3.一般不会在beforeDestroy操作数据,因为即便操作数据,也不会再触发更新流程了。
	-->
  • vue生命周期分析

理解 : 生命周期就是人从出生到死亡了过程

图示 ↓

在这里插入图片描述

  • 初始化显示
  1. beforeCreate (创建之前)无法通过vm访问到data中的数据,methods方法等等.

  2. created() 数据侦听、计算属性、方法、事件/侦听器的回调函数。然而,挂载阶段还没开始,且 $el property 配置对象目前尚不可用。可以通过vm访问到data中的数据,methods方法等等;

    1. 没有配有 E l ,执行 v m . El , 执行vm. El,执行vm.$ m o u n t ( e l ) mount(el) mount(el)
    2. 如果没有摸版 直接解析Template配置的内容;
    3. 创建之前之后指的是( 数据代理以及数据检测 数据代理 以及 数据检测 数据代理以及数据检测

  1. beforeMount() 页面呈现是未经解析的dom结构 、这里对dom进行操作最终都不奏效

  2. mounted() 页面呈现是经Vue解析过的dom结构(尽可能不在这里操作dom)、这里可以开启定时器、发送网络请求、订阅消息、绑定事件、等初始化操作!

  • 更新状态: this.xxx = value
  1. beforeUpdate() 此时 数据是新的,但页面是旧的 ,未保持同步!
  2. updated() 此时 数据是新的,但页面也是新的 ,保持同步!

  • 销毁vue实例: vm.$destory()
  1. beforeDestory() 这里可以关闭定时器、发送网络请求、订阅消息、绑定事件、等初始化操作!销毁收尾操作
  2. destoryed() 彻底销毁

  • 常用的生命周期方法
  1. mounted(): 发送ajax请求, 启动定时器等异步任务
  2. beforeDestory(): 做收尾工作, 如: 清除定时器

总结

以上是个人学习Vue的相关知识点,一点一滴的记录了下来,有问题请评论区指正,共同进步,这才是我写文章的原因之,如果这篇文章对您有帮助请三连支持一波

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/678376.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《算法设计与分析》学习笔记

目录 算法基本概念 算法的定义 算法复杂度分析 渐近记号 ①渐近上界记号O ②渐近下界记号Ω ③渐近紧确界记号 Θ ④非渐近紧确上界记号o ⑤非渐近紧确下界记号ω 渐进记号极限定义 分治 分治步骤 递归树 ​编辑代入法 主方法 改变变量 二叉树 堆 建堆 堆排…

【promptulate专栏】使用GPT和XMind快速构建思维导图

本文节选自笔者博客&#xff1a;https://www.blog.zeeland.cn/archives/ao302950h3j &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是Zeeland&#xff0c;全栈领域优质创作者。&#x1f4dd; CSDN主页&#xff1a;Zeeland&#x1f525;&#x1f4e3; 我的博客&#…

【Java】缓存常见问题及解决方式

文章目录 一、缓存常见问题二、数据不一致2.1、一致性问题2.2、解决方案 三、缓存穿透3.1、问题3.2、解决方案布隆过滤器使用布隆过滤器解决缓存穿透 四、缓存击穿4.1、问题4.2、解决方案 五、缓存雪崩5.1、问题5.2、解决方案 六、大key及热点key6.1、问题6.2、解决方案大key热…

【Leetcode刷题】字符串匹配

本篇文章为LeetCode 字符串匹配模块的刷题笔记&#xff0c;仅供参考。 目录 Leetcode28.找出字符串中第一个匹配项的下标Leetcode214.最短回文串Leetcode459.重复的子字符串Leetcode686.重复叠加字符串匹配Leetcode1023.驼峰式匹配Leetcode1392.最长快乐前缀Leetcode1668.最大重…

【SpringBoot】一、SpringBoot3改变新特性

前言 本文适合具有springboot的基础的同学。 SpringBoot3改变&新特性 一、前置条件二、自动配置包位置变化1、Springboot2.X2、Springboot3.X 三、jakata api迁移1、Springboot2.X2、Springboot3.X3、SpringBoot3使用druid有问题&#xff0c;因为它引用的是旧的包 四 新特…

App Crawler

Google官方出了一款App遍历工具App Crawler。 文档&#xff1a;应用抓取工具 | Android 开发者 | Android Developers App Crawler工具是Android Jetpack的一部分&#xff0c;它可自动的运行你的App&#xff0c;不需要编写或维护任何代码。 通过App Crawler运行App&…

实训四:索引与视图 - 索引(teachingdb数据库)

索引与数据库完整性 第1关&#xff1a;索引任务描述相关知识索引是什么索引的分类索引的创建和删除查询表中索引 编程要求参考代码 第2关&#xff1a;删除索引-练习任务描述相关知识编程要求测试说明参考代码 第1关&#xff1a;索引 任务描述 本关任务&#xff1a;为 student…

【Leetcode60天带刷】day21二叉树——530.二叉搜索树的最小绝对差 ,501.二叉搜索树中的众数 ,236. 二叉树的最近公共祖先

题目&#xff1a; 530. 二叉搜索树的最小绝对差 给你一个二叉搜索树的根节点 root &#xff0c;返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数&#xff0c;其数值等于两值之差的绝对值。 示例 1&#xff1a; 输入&#xff1a;root [4,2,6,1,3] 输出&#xff1…

chatgpt赋能python:Python与电影评分

Python与电影评分 近年来&#xff0c;越来越多的人选择通过网络来观看电影。然而&#xff0c;在选择一部电影时&#xff0c;看到的只是电影名称和海报。这时就需要借助电影评分来给自己做出更明智的选择。Python作为一门流行的编程语言&#xff0c;它的应用程序提供了许多有用…

图形视图体系结构(Graphics View)

Graphics View框架结构的主要特点 Graphics View框架结构的主要特点如下。 &#xff08;1&#xff09;在Graphics View框架结构中&#xff0c;系统可以利用Qt绘图系统的反锯齿、OpenGL工具来改善绘图性能。 &#xff08;2&#xff09;Graphics View支持事件传播体系结构&…

利用Charles进行Mock测试

一、Charles介绍 Charles是一款用Java编写的代理软件&#xff0c;电脑或者手机访问网站首先会访问到Charles代理工具上&#xff0c;由代理工具再把访问数据转发到相应的网站上&#xff0c;所以可以很好的通过设置Charles&#xff0c;对接口的请求和响应进行加工处理。 …

【Linux】Linux权限的概念、Linux权限管理、文件类型和访问权限的设置、粘滞位介绍

文章目录 1.Linux权限的概念2.Linux权限管理2.1文件访问者的分类2.2文件类型的访问权限2.3文件权限值的表示方法2.4文件访问权限的相关设置方法 3.目录的权限4.粘滞位 1.Linux权限的概念 在生活中&#xff0c;一件事情是否允许被一个人做&#xff0c;就是叫做权限&#xff0c;权…

【Leetcode60天带刷】day32回溯算法——122.买卖股票的最佳时机II ,55. 跳跃游戏 ,45.跳跃游戏II

​ 题目&#xff1a; 122. 买卖股票的最佳时机 II 给你一个整数数组 prices &#xff0c;其中 prices[i] 表示某支股票第 i 天的价格。 在每一天&#xff0c;你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买&#xff0c;然后在 同一…

MYSQL数据库应用中的17个关键问题

一、单Master 单Master的情况是普遍存在的&#xff0c;对于很多个人站点、初创公司、小型内部系统&#xff0c;考虑到成本、更新频率、系统重要性等问题&#xff0c;系统只依赖一个单例数据库提供服务&#xff0c;基本上已经满足需求。这种场景下我觉得重点应该关注的话题有上图…

图像预处理 Tricks【1】:Contours

系列文章目录 文章目录 系列文章目录前言1. cv2.findContours()1.1. 方法概述1.2. cv2.findContours()1.2.1. 轮廓检索模式1.2.2. 轮廓逼近方法 2. cv2.drawContours()2.1. 方法概述2.2. cv2.drawContours() 3. cv2.contourArea()3.1. 方法概述3.2. cv2.contourArea()3.3. 存在…

java springboot整合MyBatis联合查询

前面文章 java springboot整合MyBatis做数据库查询操作写了springboot整合MyBatis的方法 并演示了基础查询的语法 根据id查 那么 我们这次来演示联合查询 我们staff 表 内容如下 每条数据 对应的都有一个departmentid 这是 department部门表的外键id department表内容如下 如…

Redis 分布式缓存

分布式缓存 单点 Redis 的问题及解决 数据丢失&#xff1a;实现Redis数据持久化并发能力&#xff1a;搭建主从集群&#xff0c;实现读写分离存储能力&#xff1a;搭建分片集群&#xff0c;利用插槽机制实现动态扩容故障恢复能力&#xff1a;利用哨兵机制&#xff0c;实现健康…

Linux系统编程(进程基础知识讲解)

文章目录 前言一、进程的概念二、进程的生命周期三、进程树四、进程的创建五、一个进程可以执行几个程序&#xff1f;六、子进程中调用execve函数总结 前言 本篇文章来讲解Linux中的进程&#xff0c;进程在Linux中是非常重要的一个知识点&#xff0c;掌握好进程是非常重要的。…

postgresql源码学习(56)—— explain是如何快速估算pg表行数的

当我们需要大致知道表行数&#xff0c;但又不需要很精确时&#xff0c;可以采用以下方法 一、 统计信息 pg_class.reltuples 最简便的方法是利用pg_class.reltuples&#xff0c;类似oracle的num_rows postgres# select reltuples::numeric from pg_class where relnamepgbenc…

VUE 2X 表单数据过滤器 ⑨

目录 文章有误请指正&#xff0c;如果觉得对你有用&#xff0c;请点三连一波&#xff0c;蟹蟹支持✨ V u e j s Vuejs Vuejs收集表单数据过滤器 使用 C o o k i e Cookie Cookie 影响总结 文章有误请指正&#xff0c;如果觉得对你有用&#xff0c;请点三连一波&#xff0c;蟹蟹…