Vue生命周期钩子函数

Vue生命周期:Vue实例从创建到销毁的过程,称为Vue的生命周期;

Vue生命周期示意图:点击前往

Vue钩子函数官方文档:点击前往

Vue生命周期钩子:又称为Vue生命周期钩子方法/函数,是Vue为开发者提供的方法,我们可以通过这些方法在Vue实例创建、挂载、数据更新、销毁等阶段做一些事情;

Vue的生命周期钩子方法:

  • beforeCreate:还没有进行数据监视和事件初始化。可以在这加个loading事件 
  • created:组件示例创建完成。进行了数据监视,事件已被初始化。$el属性还不存在。在这结束loading
  • beforeMount:编译了模板,但vue示例并未被挂载,因此不能进行dom操作
  • mounted:vue示例已被挂载,可以进行dom操作。可以在这发起后端请求
  • beforeUpdate:组件更新前调用
  • updated:组件更新后调用
  • beforeDestroy:vue实例删除前调用。你确认删除XX吗、 点击下一步的时候、清除定时器等等
  • destroyed:vue实例删除后调用
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>01_lifeCycle-hook</title>
		<script type="text/javascript" src="../js/vue.js" ></script>
		<script>
			window.onload = () => {
				new Vue({
					el : 'div',
					data : {
						msg : '欢迎来到siki学院'
					},
					beforeCreate(){
						alert("1 beforeCreate 创建Vue实例,但是未进行数据观测 " + this.msg);
					},
					created(){
						alert("2 created 创建Vue实例,进行数据观测了 " + this.msg);
					},
					beforeMount(){
						alert("3 beforeMount 挂载Vue实例 前 " + this.msg + this.$refs.msgText.innerText);
					},
					mounted(){
						alert("4 mounted 已经挂载Vue实例了 " + this.msg + this.$refs.msgText.innerText);
					},
					beforeUpdate(){
						alert("5 beforeUpdate 数据 更新前"  + this.$refs.msgText.innerText);
					},
					updated(){
						alert("6 updated 数据 更新后 "  + this.$refs.msgText.innerText);
					},
					beforeDestroy(){
						alert("6 beforeDestroy vue对象销毁 前 ");
					},
					destroyed(){
						alert("6 updated vue对象销毁 后");
					},
					methods: {
						onDestroy(){
							this.$destroy();
						}
					}
				});
			}
		</script>
	</head>
	<body>
		<div>
			<input type="text" v-model="msg" /><br />
			<h1 ref="msgText">{{msg}}</h1>
			<button @click="onDestroy">销毁</button>
		</div>
	</body>
</html>

例2 created和mounted的区别

 

created:

 html加载完成之前执行通常初始化某些属性值,然后再渲染成视图

也就是说created调用的时候,此时页面还没有被渲染成html,然后这时候通过id什么的去查找页面元素是找不到的

 

mounted:

html加载完成后执行通常是初始化页面完成后,再对htmldom元素进行一些需要的操作。

此错误证明找不到idmsgDom元素。即模板还未渲染成html。所以,一般creadted钩子函数主要是用来初始化数据。

 

输出了hello这说明这时候vue模板已经渲染完毕

因此Dom操作一般是在mounted钩子函数中进行的

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值