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()执行时组件已经被完全销毁,所有数据,方法都已经不可用

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

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