一、官方vue生命周期流程图

二、vue声明周期介绍

  1. beforeCreate执行时:data和el均未初始化,值为undefined

  2. created执行时:Vue 实例观察的数据对象data已经配置好,已经可以得到app.message的值,但Vue 实例使用的根 DOM 元素el还未初始化;多用来ajax从后端获取数据

  3. beforeMount执行时:data和el均已经初始化,但从{{message}}等现象可以看出此时el并没有渲染进数据,el的值为“虚拟”的元素节点

  4. mounted执行时:此时el已经渲染完成并挂载到实例上;文档已经渲染完毕,绑定事件!

  5. 总结:beforecreated:el 和 data 并未初始化 ;created:完成了 data 数据的初始化,el没有;beforeMount:完成了 el 和 data 初始化 ;mounted :完成挂载。(注意:在beforeMount阶段应用的 Virtual DOM(虚拟Dom)技术,先把坑占住了,到后面mounted挂载的时候再把值渲染进去。)

三、vue声明周期基本特点

1、什么是Vue生命周期?

答:Vue实例从创建到销毁的过程,就是生命周期。也就是从开始创建、初始化数据、编译模板、挂载DOM->渲染、更新->渲染、卸载渲染等一系列过程。

2、Vue生命周期的作用?

答:它的生命周期中有多个事件,让我们在控制整个Vue实例的过程是更容易形成好的逻辑。

3、第一次页面加载会触发哪几个钩子?

答:会触发beforeCreate、created、beforeMount、mounted

4、钩子函数

(1)beforeCreate:在此之前声明data中的变量

(2)created:Vue实例创建好了,变量赋值了;多用来ajax从后端获取数据

(3)beforeMount:挂载DOM之前,数据渲染之前

(4)mounted:用Vue里面的 $el 去替换页面上的元素之后,

(5)update->修改data中的数据,然后更新页面

(6)beforeDestroy,destroed :实例的销毁,vue实例还是存在的,只是解绑了事件的监听还有watcher对象数据与view的绑定,即数据驱动

注意:当vue实例里,既有 el 又有 template;则template模板会覆盖掉vue作用域(div领地)

mount挂载的含义:Vue实例中的el、data 去替换vue作用域(div领地)

6. Vue - 声明周期的更多相关文章

  1. Vue 引出声明周期 && 组件的基本使用

    1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 & ...

  2. vue生命周期

    1.Vue1.0生命周期 1.1钩子函数: created ->   实例已经创建 √ beforeCompile ->   编译之前 compiled ->   编译之后 read ...

  3. vue生命周期探究(二)

    vue生命周期探究(二) 转载自:https://segmentfault.com/a/1190000008923105 上一章我们介绍了vue的组件生命周期和路由勾子,这一章,让我们来看看在vue- ...

  4. Vue_声明周期

    Vue生命周期 在vue2.0的时候,声明钩子发生了改变,具体有八个 <!-- HTML部分 --> <div id="app"> <div>{ ...

  5. Asp.Net原理Version3.0_页面声明周期

    Asp.Net原理Version1.0 Asp.Net原理Version2.0                   相关源码 页面的Process方法 // System.Web.UI.Page pr ...

  6. vue生命周期的介绍

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. Maven的声明周期(Lifecycle )和命令(Phase)

    生命周期(Lifecycle ) Maven有三套相互独立的生命周期(Lifecycle ): Clean Lifecycle:做一些清理工作: Default Lifecycle:构建的核心部分.编 ...

  8. vue 生命周期

    一 vue的生命周期如下图所示(很清晰) 二 vue生命周期的栗子 注意触发vue的created事件以后,this便指向vue实例,这点很重要 <!DOCTYPE html> <h ...

  9. 详解vue生命周期

    vue生命周期 @(vue)[生命周期] 前言 在使用vue一个多礼拜后,感觉现在还停留在初级阶段,虽然知道怎么和后端做数据交互,但是对于mounted这个挂载还不是很清楚的.放大之,对vue的生命周 ...

随机推荐

  1. 9. Vue - vue-cli

    一.前端开发工具 1. Node.js ​ Node.js是一个基于Chrome v8引擎的JavaScript运行环境.JavaScript本来只能跑在浏览器上,然后Node.js就是一种能让js直 ...

  2. 关于jvm的常识介绍

    1.关于jvm的组成(只介绍1.8,以前的版本不多介绍) vm stack,native method stack,program counter register,heap,metaspace 2. ...

  3. mysql 经典练习题上

    MY SQL 三张表 emp 表, 字段empno, ename, job, mgr, hiredate, sal, comm, deptno dept表 , 字段 deptno, dname, lo ...

  4. USACO Max Flow

    洛谷 P3128 [USACO15DEC]最大流Max Flow 洛谷传送门 JDOJ 3027: USACO 2015 Dec Platinum 1.Max Flow JDOJ传送门 Descrip ...

  5. C#开发BIMFACE系列26 服务端API之获取模型数据11:获取单个面积分区信息

    系列目录     [已更新最新开发文章,点击查看详细] 在<C#开发BIMFACE系列25 服务端API之获取模型数据9:获取楼层对应面积分区列表>一文中介绍了如何获取单个模型中单个楼层包 ...

  6. vscode源码分析【一】从源码运行vscode

    安装git,nodejs和yarn 安装Python27,3.x版本的不行,确保它在你的环境变量里: 安装gulp npm install --global gulp-cli 安装windows bu ...

  7. 在新的电脑上的Git本地库 与远程库关联前的一些设置

    由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置: 第1步:创建SSH Key.在用户主目录下(user/...),看看有没有.ssh目录,如果有,再看看这个目 ...

  8. 简单探讨一下.NET Core 3.0使用AspectCore的新姿势

    前言 这几天在对EasyCaching做支持.net core 3.0的调整.期间遇到下面这个错误. System.NotSupportedException:"ConfigureServi ...

  9. Docker - 创建镜像(二)

    实际工作中,我们可能需要自己去创建一个docker镜像,下面给大家介绍如何创建docker镜像 1. 创建一个最简单的镜像 准备Dockerfile文件 [root@dockhost ~]# mkdi ...

  10. [IDA]修改变量类型、删除变量名

    1. 双击变量 2. 按D转换类型(Word.Byte.Dword) 3. 按U删除变量名 4. 按N修改变量名