vue_生命周期钩子
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <div id="app"> <p>{{msg}}</p> </div> </body> <script type="text/javascript"> let vm = new Vue({ // 生命周期函数就是在初始化及数据更新过程各个阶段执行不同的钩子函数 el: '#app', data: { msg: 'hello vue' }, //在一个实例被创建之前执行的函数 beforeCreate () { // 先父后子 console.log(this.$el) // undefined console.log(this.msg) // undefined }, //在一个实例被创建之后执行函数 created () { // 先子后父 console.log(this.$el) // undefined console.log(this.msg) // hello vue }, // created运行后判断是否有el挂载的渲染模板 // 当vue实例挂载/渲染之前会执行beforeMount函数 beforeMount () { console.log(this.$el) // <div id="app"><p>{{msg}}</p></div> console.log(this.msg) // hello vue }, //当vue实例挂载/渲染完成后会执行mounted函数 mounted () { console.log(this.$el) // <div id="app"><p>hello vue</p></div> console.log(this.msg) // hello vue }, // 当data被修改时更新到虚拟DOM beforeUpdate () { // 控制台调用vm.$data.msg = 'hello javascript' // vue会将数据更新到虚拟DOM。并未渲染到页面 console.log(app.innerHTML) // <p>hello vue</p> console.log(this.msg) // hello javascript }, //当data被修改时,重新渲染并应用更新 updated () { console.log(app.innerHTML) // <p>hello javascript</p> console.log(this.msg) // hello javascript }, //被keep-alive缓存的组件激活时调用,该钩子函数在服务器端渲染期间不被调用 //如果keep-alive包裹两个组件A和B,会缓存不活动的组件实例,而不是销毁它们 //第一次切换到组件A时,组件A的created和activated钩子函数都会被执行 //切换B组件时,组件A的deactivated钩子函数执行,组件B执行activated钩子函数 activated () { }, //被keep-alive缓存的组件停用时调用, deactivated () { }, //当页面销毁实例之前运行的函数 beforeDestroy () { }, //当页面销毁实例之后运行的函数 destroyed () { }, }) </script> </html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!