Vue对象的生命周期/vuelifecycle.png
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="./js/vue.3.3.4.js"></script> </head> <body> <div id="box"> {{message}} <input type="text" v-model="message">
</div> <script> vm = Vue.createApp({ data() { return { message: "hello" } }, beforeCreate() { console.log('data初始化之前:beforeCreate:' + this.message); console.log(this.$data); console.log(this.$el); }, created() { console.log('data数据已经被注入到vm对象:created:' + this.message); console.log(this.$data); console.log(this.$el); }, beforeMount() { console.log('data数据渲染到html模板之前'); console.log(this.$el) }, mounted() { console.log('data数据渲染到html模板之后'); console.log(this.$el); console.log(this.$el.parentElement); }, beforeUpdate() { console.log('data数据更新之前的钩子'); console.log(this.message); console.log(this.$data.message); console.log(this.$el.parentElement.innerHTML); }, updated() { console.log('data数据更新之后的钩子'); console.log(this.message); console.log(this.$data.message); console.log(this.$el.parentElement.innerHTML); }, }).mount("#box") </script> </body> </html>
|
总结:
1 2 3
| 在vue使用的过程中,如果要初始化操作,把初始化操作的代码放在mounted中执行 mounted阶段就是vm已经把data数据实现到页面以后。一般页面初始化使用。列如,用户访问页面加载成功以后,就要执行ajax请求。 另一个就是created,这个阶段就是在vue对象创建以后,把ajax请求后端数据的代码放入created
|