vue生命周期函数

生命周期函数(钩子)(事件)

生命周期图示

  1. var vm= new Vue表示开始创建一个vue实例

  2. init Events&Lifecyle 表示刚初始化一个vue实例,这时候对象身上只有默认的一些生命周期和默认事件,其他东西都未创建

  3. vue开始编辑模板,把vue中的指令进行执行,最终在内存中生成一个编译好的模板字符串然后把这个模板字符串渲染为内存中的DOM,此时只是在内存中渲染好了模板,并没有把模板挂在到页面中去

  4. 将内存中编译好的模板真实的替换到浏览器的页面中去


创建期间的生命周期函数

  1. beforeCreate()是我们遇到的第一个生命周期函数,表示实例完全被创建出来之前会执行它
var vm= new Vue({
                el:'#div1',
                data:{
                    msg:'ok'
                },
                methods:{
                    show(){
                        console.log('show')
                    }
                },
                beforeCreate(){
                    console.log(this.msg)
                    }       
            })
  1. 在beforeCreate()生命周期函数执行时不会拿到data和methods中的数据,证明data和methods中的数据还没有初始化
  2. created()这是第二个生命周期函数,在created中data和methods都已经被初始化好了,如果调用methods中的方法,或者操作data中的数据最早只能在created中操作
created(){
                    console.log(this.msg)
                }   
  1. beforeMount()这是第三个生命周期函数,表示模板已经在内存中编辑完成,但是尚未把模板渲染到页面中去
beforeMount(){
                    console.log(document.getElementById('h3').innerText)
                }
  1. 在beforeMount执行的时候,页面中的元素还没有被替换过来,只有之前写的模板字符串
  2. mounted()表示内存中的模板真实的挂载到页面中,用户可以看到已经渲染好的页面了
mounted(){
                    console.log(document.getElementById('h3').innerText)
                }
  1. mounted是实例创建期间的最后一个生命周期函数,当执行完mounted就表示实例已经完全被创建好了,此时如果没有其他操作,这个实例就会一直存在于内存中,只要执行完了mounted就表示vue实例已经初始化完毕,此时组件已经脱离创建阶段进入运行阶段

运行期间的生命周期函数

  1. beforeupdate()这时候界面还没有被更新,但是数据被更新了
<input type="button" value="改变msg" @click="msg='No'">
beforeUpdate(){
                    console.log('页面上的内容:'+document.getElementById('h3').innerText)
                    console.log('data中的msg:'+this.msg)
                }
  1. updated()执行的时候页面和data数据已经保持同步了

销毁期间的生命周期函数

  1. beforDestroy()执行时vue实例从运行阶段进入到了销毁阶段,实例身上所有的data和methods以及过滤器和指令都处于可用状态
  2. destroyed()执行时组件已经被完全销毁,所有数据,方法都已经不可用

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容

  • 先看完函数介绍,在看下面的生命周期函数图示把 beforeCreate 第一个生命周期函数,表示实例完全被创建出来...
    IT小池阅读 876评论 0 13
  • # 传智播客vue 学习## 1. 什么是 Vue.js* Vue 开发手机 APP 需要借助于 Weex* Vu...
    再见天才阅读 3,519评论 0 6
  • 吐槽:最近学习 Vue 的生命周期函数,有点搞不懂,为什么要叫钩子函数???以前了解过 React 的生命周期,开...
    肆意木阅读 17,383评论 2 13
  • 想念是什么? 是看向的窗外浮现着你的笑。 是脑海中出现了你我嘴角的笑。 那种的不由自主, 控制不住自己的傻笑。 好...
    L里予阅读 192评论 0 6
  • 今天格外冷,风吹在脸上很痛。 最近每天早上醒来又有一股想请请假的冲动。 什么时候得带毛毛洗澡了,每次看到毛毛的面孔...
    Ermao阅读 169评论 0 1