一、官方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. sched_yield()和nanosleep()对进程调度的影响

    关键词:sched_yield().nanosleep()等等. sched_yield()主动放弃CPU执行权,nanosleep()是睡眠一段时间后再唤醒. 1. sched_yield()实现 ...

  2. CentOS-7-x86_64-Minimal安装后的初始设置

    本文是给0基础的初始linux小白写的,只是方便大家尽快上手掌握使用linux系统,完成当前任务,有一定基础能力的请忽略 接上一篇的安装之后,开始配置linx的一些基本功能 1,第一步,也是最重要的一 ...

  3. java直接存取MS Access的mdb数据库文件

    jdbc 访问 access 的 mdb 数据库文件,使用一个叫ucanaccess的开发包实现这个功能. "Supported Access formats: 2000,2002/2003 ...

  4. nginx学习(五):nginx.conf 核心配置文件详解

    整体结构 详细信息 1.设置worker进程的用户,指的linux中的用户,会涉及到nginx操作目录或文件的一些权限,默认为nobody user root; 2.worker进程工作数设置,一般来 ...

  5. tarjan图论算法

    tarjan图论算法 标签: tarjan 图论 模板 洛谷P3387 [模板]缩点 算法:Tarjan有向图强连通分量+缩点+DAGdp 代码: #include <cstdio> #i ...

  6. <Design> 359 346

    359. Logger Rate Limiter 用map搭建. class Logger { HashMap<String, Integer> map; /** Initialize y ...

  7. ROS下多雷达融合算法

    有些小车车身比较长,如果是一个激光雷达,顾前不顾后,有比较大的视野盲区,这对小车导航定位避障来说都是一个问题,比如AGV小车, 所有想在小车前后各加一个雷达,那问题是ROS的建图或者定位导航都只是支持 ...

  8. 要想精通Mybatis?从手写Mybatis框架开始吧!

    1.Mybatis组成 动态SQL Config配置 Mapper配置 2.核心源码分析 Configuration源码解析 SqlSessionFactory源码解析 SqlSession源码解析 ...

  9. laravel项目本地数据库连接错乱原因和解决方法

    由于在本地建了两个laravel项目,test.me 和 api-test.me,当我在 test.me 中调用 curl 去请求 api-test.me 的方法,试图获取数据时, 接口一直返回没有找 ...

  10. pandas 学习 第8篇:Index 对象 - (创建、转换、排序)

    Index对象负责管理轴标签.轴名称等元数据,是一个不可修改的.有序的.可以索引的ndarry对象.在构建Sereis或DataFrame时,所用到的任何数据或者array-like的标签,都会转换为 ...