【vue】vue的生命周期,uniapp的组件生命周期

33 篇文章 7 订阅 ¥19.90 ¥99.00

一、 Vue的生命周期

beforeCreate创建前初始化但未加载监听拦截(正在初始化,但是数据还没有初始化完成)此时获取data中的数据获取不到
created创建后初始化且加载监听拦截可以获取到data中的数据,【多用于初始化数据
beforeMount挂载前dom节点还未加载上树还没有挂载到页面上
mounted挂载后dom节点已经挂载上树挂载到页面上了,【多用于操作dom
beforeUpdate更新前数据已修改,但还未加载到视图上
updated更新后数据已修改,并且视图dom已经更新
beforeDestory销毁前数据销毁前
destoryed销毁后数据销毁后可以在删除的时候,消除定时器

二、生命周期的触发条件与作用

1、beforeCreate:在初始化事件后,但是还没拦截(所以此时修改数据,但是还没被拦截,所以没反应)
2、created:初始化注入,已经开始拦截—复杂数据的初始化
3、beforeMount:将vue组件编译成html代码,此时还没上树,无法访问到dom节点(可以作为初始化状态的最后一个机会)
4、mounted:vue实例创建完成,可以访问到dom节点
5、beforeUpdate:当状态被修改时
6、updated:状态修改完虚拟dom重新渲染,并且更新,可以访问到更新后的dom
7、beforeDestroy:在销毁之前
8、destroyed:销毁完成

三、代码

<template>
	<view>
	test
	</view>
	
</template>

<script>
	export default{
		data(){
			return {
				title:'hello',
 				interId:'null',
				
			}
		},
		beforeCreate() {
			//开始初始化,但是还未加载监听拦截,data中的数据还不能加载出来。
			console.log("beforeCreate:")
			console.log("data中的数据还不能加载出来:",this.title)
		},
		//初始化完成,监听拦截加载完成,data中的数据可以加载出来
		created(){
			console.log("created:")
			console.log("data中的数据可以加载出来了",this.title)
			this.interId=setInterval(()=>{
				console.log("执行定时器中....")
			},1000)
		},
		//dom还没有挂载到树上
		beforeMount(){
			console.log("beforeMount:")
			console.log(document.getElementById("name"))
		},
		//dom已经挂载到树上了
			
		mounted(){
			console.log("mounted:")
			console.log(document.getElementById("name"))
		},
		//销毁,可以关闭定时器
			 
		 destroyed(){
			 console.log("组件销毁了...")
			clearInterval(this.interId)
			 
		 },
		
	}
</script>

<style>
</style>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值