生命周期

函数 描述
beforeCreate 在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。
created 在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观测 (data observer),property 和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,$el property 目前尚不可用。
beforeMount 1. 在挂载开始之前被调用:相关的 render 函数首次被调用。 2. 该钩子在服务器端渲染期间不被调用。
mounted 1. 实例被挂载后调用,这时 el 被新创建的 vm.\(el 替换了。如果根实例挂载到了一个文档内的元素上,当 mounted 被调用时 vm.\)el 也在文档内。 2. 该钩子在服务器端渲染期间不被调用。
beforeUpdate 1. 数据更新时调用,发生在虚拟 DOM 打补丁之前。这里适合在更新之前访问现有的 DOM,比如手动移除已添加的事件监听器。 2. 该钩子在服务器端渲染期间不被调用,因为只有初次渲染会在服务端进行。
updated 1. 由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。 当这个钩子被调用时,组件 DOM 已经更新,所以你现在可以执行依赖于 DOM 的操作。 2. 该钩子在服务器端渲染期间不被调用。
activated 1. 被 keep-alive 缓存的组件激活时调用。 2. 该钩子在服务器端渲染期间不被调用。
deactivated 1. 被 keep-alive 缓存的组件停用时调用。 2. 该钩子在服务器端渲染期间不被调用。
beforeDestroy 1. 实例销毁之前调用。在这一步,实例仍然完全可用。 2. 该钩子在服务器端渲染期间不被调用。
destroyed 1. 实例销毁后调用。该钩子被调用后,对应 Vue 实例的所有指令都被解绑,所有的事件监听器被移除,所有的子实例也都被销毁。 2. 该钩子在服务器端渲染期间不被调用。

注意 mounted 不会保证所有的子组件也都一起被挂载。如果你希望等到整个视图都渲染完毕,可以在 mounted 内部使用 vm.$nextTick注意 mounted 不会保证所有的子组件也都一起被挂载。如果你希望等到整个视图都渲染完毕,可以在 mounted 内部使用 vm.$nextTick

注意 updated 不会保证所有的子组件也都一起被重绘。如果你希望等到整个视图都重绘完毕,可以在 updated 里使用 vm.$nextTick

var nextTickFunt = function () {
// Code that will run only after the
// entire view has been rendered
}
mounted: function () {
this.$nextTick(nextTickFunt)
}
updated: function () {
this.$nextTick(nextTickFunt)
}

生命周期函数

实例生命周期钩子
new Vue({
data: { a: 1 },
created: function () {
// `this` 指向 vm 实例
console.log('a is: ' + this.a)
}
}) // => "a is: 1"

不要在选项 property 或回调上使用箭头函数,比如

created: () => console.log(this.a)vm.$watch('a', newValue => this.myMethod())

因为箭头函数并没有 thisthis 会作为变量一直向上级词法作用域查找,直至找到为止,经常导致 Uncaught TypeError: Cannot read property of undefinedUncaught TypeError: this.myMethod is not a function 之类的错误。

生命周期图示

VUE学习-生命周期的更多相关文章

  1. vue学习生命周期(created和mounted区别)

    created:在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图(例如ajax请求列表). mounted:在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom ...

  2. vue笔记 - 生命周期第二次学习与理解

    对于刚接触vue一两个月.才仅仅独立做过一两个vue项目的小白来说,以前一直自我感觉自己知道vue的生命周期, 直到前两天去面试,面试官让我说一下vue的生命周期... 其实我的心中是有那张图的,但是 ...

  3. vue学习指南:第三篇(详细) - vue的生命周期

    今天小编给大家详细讲解一下 vue 的生命周期.希望大家多多指教,哪里有遗漏的地方,也请大家指点出来 谢谢. 一. 怎么理解 Vue 的生命周期的? 生命周期:从无到有,到到无的一个过程.Vue的生命 ...

  4. vue学习笔记(二)vue的生命周期和钩子函数

    前言 通过上一章的学习,我们已经初步的了解了vue到底是什么东西,可以干什么,而这一篇博客主要介绍vue的生命周期和它常用的钩子函数,如果有学过java的园友可能有接触到在学习servlet的时候学过 ...

  5. vue笔记-生命周期

    生命周期钩子 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  6. vue生命周期图示中英文版Vue实例生命周期钩子

    vue生命周期图示中英文版Vue实例生命周期钩子知乎上近日有人发起了一个 “react 是不是比 vue 牛皮,为什么?” 的问题,Vue.js 作者尤雨溪12月4日正面回应了该问题.以下是尤雨溪回复 ...

  7. 深入理解Vue的生命周期

    谈到Vue的生命周期,相信许多人并不陌生.但大部分人和我一样,只是听过而已,具体用在哪,怎么用,却不知道.我在学习vue一个多礼拜后,感觉现在还停留在初级阶段,对于mounted这个挂载还不是很清楚. ...

  8. Vue的生命周期(在其他地方看到一份非常好又详细的详解)

    链接地址:https://segmentfault.com/a/1190000011381906 首先,每个Vue实例在被创建之前都要经过一系列的初始化过程,这个过程就是vue的生命周期.首先看一张图 ...

  9. 你还不知道Vue的生命周期吗?带你从Vue源码了解Vue2.x的生命周期(初始化阶段)

    作者:小土豆biubiubiu 博客园:https://www.cnblogs.com/HouJiao/ 掘金:https://juejin.im/user/58c61b4361ff4b005d9e8 ...

  10. 8.vue的生命周期

    Vue实例有一个完整的生命周期,也就是从开始创建.初始化数据.编译模板.挂载Dom.渲染→更新→渲染.卸载等一系列过程,我们称这是Vue的生命周期.通俗说就是Vue实例从创建到销毁的过程,就是生命周期 ...

随机推荐

  1. mybatis-generator插件的使用及相关配置

    mybatis-generator主要用于逆向工程,根据数据库来生成实体类以及mapper映射文件 1.第一步先添加依赖 <dependency> <groupId>mysql ...

  2. vue3项目一些小坑

    文章来自 https://mp.weixin.qq.com/s/nJsfOUNNKYQdvB9o9BXVVQ 1. Vue2.x 和 Vue3.x 生命周期方法的变化 文档地址:https://v3. ...

  3. unity3D mirror网络游戏开发笔记

    最近想开发一款多人在线网络游戏,使用unity3d的mirror插件可以提高开发效率,并且该插件免费. 但是由于使用插件开发效率太低,经过研究,ummorpg开发模板是居于该插件开发而来,使用它可以提 ...

  4. yagmail 邮件模块

    安装 yagmail 安装yagmail:https://coding.net/s/01e2c2fe-82c0-4e05-a31b-f3e9e2dbc43a 下载完成之后,cmd 切换到文件目录下,执 ...

  5. 关于.NET CORE 的 swagger 分组简单使用

    在避免swagger接口过多时,可以使用分组进行功能区分 简单三部曲 1.添加分组和级别名称 services.AddSwaggerGen(c => { #region swagger分组 c. ...

  6. windows远程桌面之前用于连接到xxx的凭据无法工作

    使用windows远程桌面连接时报错提示: 之前用于连接到xxx的凭据无法工作 确认输入的用户名密码没有问题 解决方法: 打开gpedit.msc组策略管理,依次找到 计算机配置 > windo ...

  7. ABC 171 F - Strivore 【容斥】

    https://atcoder.jp/contests/abc171/tasks/abc171_f 题意 给你一个数 \(k\) ,一个字符串 \(s\) (只包含小写字母) 定义一次操作:把任意小写 ...

  8. 3-MIRO发票校验设置默认税码-OMR2

  9. JAVA格式化数字

    DecimalFormat df = new DecimalFormat("#.##"); System.out.println(df.format(100.1234)); // ...

  10. 【git】3.3 git分支-分支管理

    资料来源 (1) https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%AE%A1%E7%90%86 ...