关于Vue中生命周期函数的学习小结

   日期:2020-05-17     浏览:82    评论:0    
核心提示:关于Vue的八个生命周期钩子== 测试和解释写在以下代码中==

关于Vue的八个生命周期钩子

测试和解释写在以下代码中

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title></title>
	<script type="text/javascript" src="./js/vue.js"></script>
</head>
<body>
	<div id="app">
		<p id="p">{{msg}}</p>
		<input type="button" value="change msg" @click="msg='yes'">
	</div>
	<script>
		var vm = new Vue({
			el:'#app',
			data:{
				msg:'yesok'
			},
			methods:{
				show(){
					console.log('执行了show方法')
				}
			},
			beforeCreate(){//表示实例完全被创建出来之前,会执行它。
				//在beforeCreate生命周期函数执行的时候,data和methods中的数据都还没有被初始化
			},
			created(){
				//在created生命周期函数执行的时候,data和methods中的数据已经被初始化
				//如果调用methods中的方法,或者是操作data的数据,最早只能在created中操作
				console.log(this.msg)
				this.show()
			},
			beforeMount(){//表示模版已经在内存中编译完成了,但是尚未把模板渲染到页面中
				console.log(document.getElementById('app').innerText)
				//在beforeMount执行的时候,页面中的元素,还没有被真正替换过来,只是之前的一些模板字符串
			},
			mounted(){//
				console.log(document.getElementById('app').innerText)
				
				//如果要通过某些插件操作页面上的DOM节点了,最早要在mounted中进行
			},

			//接下来是运行中的两个事件,beforeUpdate和updated这两个事件,会根据data数据的改变,有选择性的触发0次到多次。
			beforeUpdate(){//表示我们的页面还没有被更新,但是数据已经被更新了
				console.log('页面上元素的内容是:'+document.getElementById('app').innerText)
				console.log('data中msg数据是:'+this.msg)
				//当执行beforeUpdate的时候,页面中显示的数据还是旧的,此时data数据是最新的,页面尚未和最新的数据保持同步。

			},
			updated(){
				console.log('页面上元素的内容是:'+document.getElementById('app').innerText)
				console.log('data中msg数据是:'+this.msg)
				//updated事件执行的时候,页面(View层)和data数据(Model层)已经保持同步了,都是最新的。
			},

			//Vue实例的销毁阶段
			beforeDestroy(){

			},
			destroyed(){//当执行到destroyed函数的时候,组件已经被完全销毁了,此时组件中所有的数据、方法、指令、过滤器......都已经不可用了。

			}

		})
	</script>

</body>
</html>
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服