你真的了解vue生命周期吗

作者: IOneStar | 来源:发表于2017-09-06 15:59 被阅读274次
title

vue声明周期,在每个声明周期中都干了些什么?

1, vue的生命周期

  • beforeCreate: 组件实例刚刚被创建,组件属性计算之前,如data属性
  • created: 组件实例创建完成,属性已绑定,但是DOM还未完成,$el属性还不存在
  • beforeMount:模板编译/挂载之前
  • mounted: 模板编译/挂载之后
  • beforeUpdate: 组件更新之前
  • updated: 组件更新之后
  • activated: for keep-alive,组件被激活时调用
  • deactivated: for keep-alive,组件被移除时调用
  • beforeDestroy: 组件销毁前被调用
  • destoryed: 组件销毁后调用

ps:下面代码可以直接复制出去执行

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<script type="text/javascript" src="https://cdn.jsdelivr.net/vue/2.1.3/vue.js"></script>
<body>
    <div id="app">{{a}}</div>
    <script>
        var vm = new Vue({
            el: '#app',
            data: {
                a: 'vuejs',
            },
            beforeCreate: function() {
                console.log('创建前');
                console.log(this.a);
                console.log(this.$el);
            },
            created: function() {
                console.log('创建之后');
                console.log(this.a);
                console.log(this.$el);
            },
            beforeMount: function() {
                console.log('mount之前');
                console.log(this.a);
                console.log(this.$el);
            },
            mounted: function() {
                console.log('mount之后');
                console.log(this.a);
                console.log(this.$el);
            },
            beforeUpdate: function() {
                console.log('更新之前');
                console.log(this.a);
                console.log(this.$el);
            },
            updated: function() {
                console.log('更新完成');
                console.log(this.a);
                console.log(this.$el);
            },
            beforeDestroy: function() {
                console.log('组件销毁之前');
                console.log(this.a);
                console.log(this.$el);
            },
            destroyed: function() {
                console.log('组件销毁之后');
                console.log(this.a);
                console.log(this.$el);
            },
        })
    </script>
</body>
</html>

beforeCreated: el和data并未初始化
created: 完成data数据的初始化,el没有
beforeMount: 完成了el和data初始化
mounted: 完成挂载

title
打开命令行在命令行中输入vm.a = 'change';查看效果
title

activateddeactivated这两个生命周期函数涉及到<keep-alive>这个组件,所以想了解这个生命周期函数的可以看一下我的另一篇文章
aboutme
github
blog

相关文章

  • 你真的了解vue生命周期吗

    vue声明周期,在每个声明周期中都干了些什么? 1, vue的生命周期 beforeCreate: 组件实例刚刚被...

  • 你真的了解Vue指令吗?

    vue一共为我们提供了14种内置指令,分别是: 这14中内置指令的功能都非常简单,如果有不知道的可以查阅vue官方...

  • 0725-vue的学习(一)

    一、VUE问题 (主要) 1.谈谈你对VUE的了解,它的优点都有哪些? 2.详细说下你对VUE中生命周期的8个钩子...

  • 详解Vue生命周期

    一个人如果想要学好Vue就必须要对Vue的生命周期了解的非常透彻。因为vue生命周期是指vue实例对象从创建之初到...

  • Vue的生命周期

    为什么要了解vue 的生命周期 如果只是了解vue的语法,也可以根据你的想法实现自己的需求,但是一旦出现问题,就要...

  • vue生命周期

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

  • vue生命周期

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

  • Vue生命周期

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

  • 了解vue.js的生命周期函数

    了解vue的生命周期函数和运行中事件,有助于我们更好地使用vue 具体代码文件 四个生命周期函数 beforeCr...

  • 你真的了解Activity的生命周期吗

    如需转载请评论或简信,并注明出处,未经允许不得转载 目录 前言 Activity作为四大组件之首,是使用最为频繁的...

网友评论

  • today0507:beforeUpdate这个函数怎么触发
    today0507:@funnycoderstar app.$destroy();这个
    today0507:@funnycoderstar 这个不是更新的吗?我想知道那个destory的,谢谢啦:stuck_out_tongue_winking_eye:
    IOneStar:打开命令行在命令行中输入vm.a = 'change';就是修改data中的值的时候触发

本文标题:你真的了解vue生命周期吗

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