网站首页 > 博客文章 正文
Vue中共有8个生命周期钩子,看看它们在初始化实例的过程中,都干了些什么事情。
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>生命周期</title> <script src="vue.js"></script> </head> <body> <div id="box"> <p id="para">{{msg}}</p> </div> </body> </html> <script> var vm = new Vue({ el:'#box', data:{ msg:'word' }, beforeCreate:function(){ console.log('beforeCreate---------------创建前'); //vue实例本身自带一些属性:$el、$data console.log('el:'+this.$el); console.log('data:'+this.$data); console.log('msg:'+this.msg); }, created:function(){ console.log('created--------------------创建完成'); console.log('el:'+this.$el); console.log('data:'+this.$data); console.log('msg:'+this.msg); }, beforeMount:function(){ console.log('beforeMount----------------挂载前'); console.log('el:'+this.$el); //占位 console.log('data:'+this.$data); console.log('msg:'+this.msg); var para = document.getElementById('para').innerText; console.log('para:'+para); }, mounted:function(){ console.log('mounted--------------------挂载完成'); console.log('el:'+this.$el); console.log('data:'+this.$data); console.log('msg:'+this.msg); var para = document.getElementById('para').innerText; console.log('para:'+para); }, beforeUpdate:function(){ console.log('beforeUpdate---------------更新前'); console.log('el:'+this.$el); //控制台更改msg数据 console.log('data:'+this.$data); console.log('msg:'+this.msg); var para = document.getElementById('para').innerText; console.log('para:'+para); }, updated:function(){ console.log('updated--------------------更新完成'); console.log('el:'+this.$el); console.log('data:'+this.$data); console.log('msg:'+this.msg); var para = document.getElementById('para').innerText; console.log('para:'+para); }, beforeDestroy:function(){ console.log('beforeDestroy---------------销毁前'); console.log('el:'+this.$el); console.log('data:'+this.$data); console.log('msg:'+this.msg); }, destroyed:function(){ console.log('destroyed-------------------销毁完成'); console.log('el:'+this.$el); console.log('data:'+this.$data); console.log('msg:'+this.msg); } }) </script>
打印结果
初始阶段
更新阶段
销毁阶段
友情提示:
vm实例销毁,只是清理它与其它实例的连接,解绑它的全部指令及方法;它并不是用来清除已有页面上的DOM的。
比如:调用 vm.$destroy()之后,你会发现,vm.msg= 'test destroy' 不会对页面产生影响。即页面的内容仍旧是hello
猜你喜欢
- 2024-10-09 9、Vue生命周期(vue生命周期的四个阶段)
- 2024-10-09 「前端Vue学习系列」三、Vue进阶篇
- 2024-10-09 面试官:你对vue生命周期的理解?(简述vue生命周期)
- 2024-10-09 vue的生命周期(概览)(vue生命周期的四个阶段)
- 2024-10-09 Vue如何创建自定义指令?(vuecli新增自定义指令)
- 2024-10-09 Vue-生命周期总结(vue中的生命周期)
- 2024-10-09 vue的生命周期(vue 的生命周期)
- 2024-10-09 vue3讲解setup,ref,reactive和watch语法
- 2024-10-09 vue基础知识(vue要掌握哪些知识?)
- 2024-10-09 Vue3学习手册(vue3 从入门到实战)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)