解释都在代码里,可以看看
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../vue.js"></script>
</head>
<body>
<div id="app">
<hehe></hehe>
</div>
<template id="hehe">
<div class="test">
hehhe
<p ref='p'>{{num}}</p>
</div>
</template>
<script>
Vue.component('hehe',{
template:'#hehe',
data(){
return {
num:1
}
},
beforeCreate(){
// 创建之前 没有初始化数据 同时没有真实dom
// 这个生命周期基本不用
console.log('创建之前');
console.log(this);
console.log(this.num);//undefined
console.log(this.$refs['p']);//undefined
},
created(){
// 创建结束 有数据 没有dom
// 可以修改数据 在这里修改数据不会触发运行中的更新的生命周期
// 在这里可以做网络请求
console.log('创建结束');
console.log(this);
console.log(this.num);//1
this.num=5 //num=5
console.log(this.$refs['p']);//undefined
}
})
let vm=new Vue({
el:'#app'
})
</script>
</body>
</html>