美文网首页
Vue实例的生命周期

Vue实例的生命周期

作者: 最爱喝龙井 | 来源:发表于2019-08-12 15:45 被阅读0次

Vue实例的生命周期

生命周期:就是指的Vue实例在创建的过程中,经历的几个时间段,每个时间段有一个事件处理函数来表示当时的状态。

看个图:

lifecycle.png

1. beforeCreate()
作用: Vue实例此时不能够访问data和methods中的数据,表示Vue实例创建之前

var vm = new Vue({
            el: '#app',
            data: {
                msg: 'ok'
            },
            methods: {
                show() {
                    console.log('hello world')
                }
            },
            beforeCreate() {
                console.log(this.msg) //undefined
                this.show() // 报错
            }
        })

2. created()
作用: 表示此时初始化好了,可以访问data和methods中的数据了

var vm = new Vue({
            el: '#app',
            data: {
                msg: 'ok'
            },
            methods: {
                show() {
                    console.log('hello world')
                }
            },
            created() {
                console.log(this.msg); // ok
                this.show()  // hello world
            }
        })

3. beforeMount
说明: 此时的模板已经在内存中编译好了,但还没有挂载到页面中去,此时的页面还是旧的

var vm = new Vue({
            el: '#app',
            data: {
                msg: 'ok'
            },
            methods: {
                show() {
                    console.log('hello world')
                }
            },
            beforeMount() {
                console.log(document.getElementById('msg').innerHTML) // {{ msg }}
            }
        })

4. mounted
说明:此时的模板已经编译好了,并挂载到了页面当中,如果某些插件要操作dom最早也要在这里进行操作

var vm = new Vue({
            el: '#app',
            data: {
                msg: 'ok'
            },
            methods: {
                show() {
                    console.log('hello world')
                }
            },
            mounted() {
                console.log(document.getElementById('msg').innerHTML) // ok
            }
        })

5. beforeUpdated()
说明:当数据发生改变的时候触发这个函数,但是此时的页面还是旧的,数据是新的

var vm = new Vue({
            el: '#app',
            data: {
                msg: true
            },
            methods: {
                show() {
                    this.msg = !this.msg
                }
            },
            beforeUpdate() {
                console.log(document.getElementById('msg').innerHTML) // true
                console.log(this.msg) // false
            }
           
        })

6. updated()
说明:数据改变,页面已经挂载完成的时候触发,此时数据与页面保持一致

var vm = new Vue({
            el: '#app',
            data: {
                msg: true
            },
            methods: {
                show() {
                    this.msg = !this.msg
                }
            },
            updated() {
                console.log(document.getElementById('msg').innerHTML) // false
                console.log(this.msg) // false
            }
           
        })

7. beforeDestroy()
说明: 在销毁之前触发,此时的data、methods以及过滤器等都是可用的

8. destroyed()
说明: 销毁后触发

相关文章

  • Vue.js入门(二):生命周期

    1 生命周期 Vue生命周期是Vue实例从创建到销毁的过程,就是生命周期。在Vue实例的生命周期过程中会运行生命周...

  • vue学习第二课之vue的生命周期

    vue生命周期图解: vue实例的生命周期 什么是生命周期:从Vue实例创建、运行、到销毁期间,总是伴随着各种各样...

  • vue生命周期

    一 vue生命周期 Vue的生命周期:就是vue实例从创建到销毁的全过程 二 vue生命周期钩子 vue生命周期...

  • 10、Vue_生命周期

    实例的生命周期 实例的生命周期图示(选项/生命周期钩子)实例生命周期 解释1.var v = new Vue{}:...

  • Vue生命周期

    vue生命周期 vue实例的创建到销毁的过程就是vue的生命周期,也就是实例创建-->初始化数据-->编译模板--...

  • 一、vue基础知识点

    每个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue 实例开始的: 实例生命周期钩子 每个 Vue 实例...

  • Vue

    Vue框架 一、Vue基础 添加Vue到网页(无需保存到本地) Vue生命周期 二、Vue 实例 创建Vue实例:...

  • VUE实例生命周期钩子

    1、vue实例生命周期钩子的由来 每个vue应用都是通过vue函数创建一个新的vue实例开始的: vue实例再被创...

  • 前端之路-VUE面试题

    vue生命周期面试题vue 生命周期是什么? Vue 实例从创建到销毁的过程,就是生命周期 beforeCreat...

  • 2.Vue实例生命周期

    Vue实例有一个完整的生命周期,顾名思义就是指Vue实例从创建到销毁的过程。下面将借助官网上的Vue实例生命周期示...

网友评论

      本文标题:Vue实例的生命周期

      本文链接:https://www.haomeiwen.com/subject/cuuujctx.html