VUE生命周期

作者: Blacker丶Boom | 来源:发表于2017-10-14 17:32 被阅读0次
实例生命周期

每个 Vue 实例在被创建之前都要经过一系列的初始化过程。例如需要设置数据监听、编译模板、挂载实例到 DOM、在数据变化时更新 DOM 等。同时在这个过程中也会运行一些叫做生命周期钩子的函数,给予用户机会在一些特定的场景下添加他们自己的代码。

生命周期

Vue的生命周期分为8个阶段:

beforeCreate Vue实例创建前

created 创建后

beforeMount 载入前(在挂载开始之前被调用:相关的 render 函数首次被调用。该钩子在服务器端渲染期间不被调用。)

mounted 载入后(el 被新创建的 vm.$el替换,并挂载到实例上去之后调用该钩子。如果 root实例挂载了一个文档内元素,当 mounted 被调用时 vm.$el也在文档内。该钩子在服务器端渲染期间不被调用。)

beforeUpdate 数据更新前(数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前。)
updated 数据更新后
beforeDestroy 销毁前
destroyed 销毁后

举个栗子

HTML:

<div id="app">
    {{test}}
    <button v-on:click='change'>change</button>
</div>

JS:

var myVue = new Vue({          
    el: "#app",          
    data: {
        test: "生命周期"        
    },  
    methods:{
        change:function(){
            this.test='changed'
        }
    },    
    beforeCreate: function() {          
        console.log("创建VUE实例前")            
        console.log(this.test)            
        console.log(this.$el)          
    },         
    created: function() {
        console.log("创建之后");            
        console.log(this.test)  
        console.log(this.$el)          
    },         
    beforeMount: function() {            
        console.log("mount之前")            
        console.log(this.test)            
        console.log(this.$el)          
    },          
    mounted: function() {            
        console.log("mount之后")            
        console.log(this.test)            
        console.log(this.$el)          
    },          
    beforeUpdate: function() {            
        console.log("数据更新前");            
        console.log(this.test)            
        console.log(this.$el)          
    },          
    updated: function() {            
        console.log("数据更新完成");            
        console.log(this.test);            
        console.log(this.$el)          
    },          
    beforeDestroy: function() {            
        console.log("销毁前");            
        console.log(this.test)            
        console.log(this.$el)            
    },          
    destroyed: function() {           
        console.log("已销毁");          
        console.log(this.test)          
        console.log(this.$el)          
    }   
});  

运行后,查看控制台,
得到这个:

运行后
beforeUpdateupdatedbeforeDestroydestroyed并没有执行,因为没有触发。beforeUpdateupdated 发生在数据更新时。点击change后,再查看控制台
发生数据更新时
也可以在控制台直接输入myVue.test='向死而生'回车执行
数据更新时

相关文章

  • vue生命周期

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

  • vue生命周期

    vue生命周期详: vue生命周期详解图: vue生命周期详解代码展示:

  • Vue生命周期

    Vue生命周期详解 一、Vue生命周期 与 作用 (生命周期钩子就是生命周期函数) (1)Vue生命周期:每个Vu...

  • vue3较vue2的特别之处 - 生命周期

    vue2 生命周期 vue3 生命周期 将 Vue2 的生命周期钩子代码更新到 Vue3 参考地址:https:/...

  • 前端之路-VUE面试题

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

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

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

  • vue生命周期

    vue里的生命周期是什么? vue实例从创建到销毁的过程称之为vue的生命周期 vue的生命周期各阶段都做了什么?...

  • Vue 生命周期

    vue里的生命周期是什么? vue实例从创建到销毁的过程称之为vue的生命周期 vue的生命周期各阶段都做了什么?...

  • vue学习记录

    vue全家桶 vue生命周期 生命周期的理解 新建项目 ①:cnpm install vue-cli -g (全...

  • Vue生命周期

    Vue生命周期 1、什么是vue生命周期? 答: Vue 实例从创建到销毁的过程,就是生命周期。也就是从开始创建、...

网友评论

    本文标题:VUE生命周期

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