我们从官网上查看生命周期
那么上面红色框的是生命周期,例如beforeCreate、create、beforemount、mounted等

上一节课程我们试用了mounted钩子函数,现在我们试用一个beforemounted
beforeCreate状态:数据代理还未开始,也就是说我们的vm还没有_data,也不能访问method方法
create状态: 数据代理已经开始,我们可以在实例vm中看到_data 和method了
我们把以上两个钩子函数写一下
补充一点:
debugger;是打断点的意思哈
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"></head><body><script type="text/javascript" src="./vue.js"> </script><div id="app" ><!-- style这里是一个特殊的写法--><h2 v-bind:style="{ color: redColor,opacity: opacity}">我的透明度是0.5</h2></div><script type="text/javascript">var vm = new Vue({el:"#app",data:{opacity:1 ,redColor: 'red',mycount : 1,},methods:{adds(){this.mycount ++}},beforeCreate(){console.log("i am beforeCreate。。 ")console.log(this)//这里是断点debugger;},})</script></body></html>
如下结论:
1)我们发现这个时候会在debbuger卡住
2)这时候的this 是没有_data的
3)这时候的this是没有 method里面的adds的
我们再加上created()函数那里打一个断点
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
</head>
<body>
<script type="text/javascript" src="./vue.js"> </script>
<div id="app" >
<!-- style这里是一个特殊的写法-->
<h2 v-bind:style="{ color: redColor,opacity: opacity}">我的透明度是0.5</h2>
</div>
<script type="text/javascript">
var vm = new Vue({
el:"#app",
data:{
opacity:1 ,
redColor: 'red',
mycount : 1,
},
methods:{
adds(){
this.mycount ++
}
},
beforeCreate(){
console.log("i am beforeCreate。。 ")
},
created(){
console.log("i am create")
console.log(this)
debugger;
}
})
</script>
</body>
</html>
查看结果:
发现都有了
