IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Vue的生命周期详细介绍 -> 正文阅读

[JavaScript知识库]Vue的生命周期详细介绍

Vue的生命周期

首先,vue的生命周期是个啥?

借用官网的一句话就是:每一个vue实例从创建到销毁的过程,就是这个vue实例的生命周期。在这个过程中,他经历了从开始创建、初始化数据、编译模板、挂载Dom、渲染→更新→渲染、卸载等一系列过程。那么这些过程中,具体vue做了些啥,我们今天来了解一下。

vue的生命周期一共有11个,现在我先把它全部列举出来:

(注意:顺序不可以颠倒)

1.beforeCreate — 创建前

2.created — 创建后

3.beforeMount — 挂载前

4.mountde — 挂载后

5.beforeUpdate — 更新前

6.updated — 更新后

7.beforeDestroy — 销毁前

8.destroyed — 销毁后

还有两个要用来配合keep- alive 来使用的:

9.activated–组件激活时调用

  1. deactivated–组件停用的时候调用

  2. errorCaptured–捕捉子组件错误时调用

    创建前后:实例的创建; 从 创建后(created)开始可以获取data内的数据)
    挂载前后:dom的挂载, 从 挂载后(mounted开始可以获取dom元素)
    

现在我们说一下声明周期函数通常所做的事情:

		beforeCreate: 修改页面的title     页面加载的进度条
		created: 发送网络请求  
		mounted:发送网络请求
		beforeUpdate -- updated 什么更新?视图的更新
		beforeDestroy -- destroyed 
			清除定时任务: setTimeout  setInterval
			移除监听: .removeEventLinster()    this.$bus.$off()

	如果非要在 created内获取dom元素:
		this.$nextTick().then(res=>{
		
		})
		
		this.$nextTick(()=>{
			
		})
	
	errorCaptured捕捉子组件的错误的,有三个参数:
		1. 错误的信息
		2. 错误的组件
		3. 错误的位置
		
		可以返回值: 如果返回true,错误向外暴露,如果返回false 错误隐藏
<script type="text/javascript">
	import mychild from '@/components/child.vue'
	export default {
		data:function(){
			return {
				num: 0
			}
		},
		components:{
			mychild
		},
		errorCaptured(a,b,c) { 
			//  
			console.log('errorCaptured',a,b,c)
			return true
		},
		methods:{
			add(){
				this.num++
				console.log(this.num)
			}
		},
		beforeCreate(){
			document.querySelector('title').innerText = '2111B'
			console.log('beforeCreate',this.num)
			console.log('beforeCreate',document.querySelector('p'))
		},
		created() {
			// console.log('created',this.num)
			// console.log('created',document.querySelector('p'))
			
			this.$nextTick().then(res=>{
				console.log('ref获取--nextTick',this.$refs['hahatag'])
			})
			
			this.$nextTick(()=>{
				console.log('ref获取--nextTick',this.$refs['hahatag'])
			})
			
			setTimeout(()=>{
				console.log('ref获取setTimeout',this.$refs['hahatag'])
			})
		},
		beforeMount() {
			console.log('beforeMount',document.querySelector('p'))
		},
		mounted() {
			console.log('mounted',document.querySelector('p'))
			
			console.log('ref获取',this.$refs['hahatag'])
		},
		beforeUpdate() {
			console.log('beforeUpdate')
			
			
		},
		updated() {
			console.log('updated')
		},
		beforeDestroy(){
			
		},
		destroyed(){
			
		},
		activated() {
			
		},
		deactivated() {
			
		},
		// errorCaptured() {
			
		// }
	}
</script>

我总结的基本上就是上述的这些了,希望可以对各位有所帮助!

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-09-24 20:47:38  更:2022-09-24 20:48:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 10:45:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码