谈谈你对生命周期的理解?在created和mounted这两个生命周期中请求数据有什么区别呢?
一、什么是生命周期?
我理解的生命周期就是:从出生到死亡的过程
二、生命周期有哪些?
Vue生命周期总共可以分为8个阶段:创建前后, 载入前后,更新前后,销毁前销毁后
生命周期 | 描述 |
---|---|
beforCreate | 组件实例被创建之前 |
Created | 组件梳理被创建完成 |
beforMount | 组件被挂载之前 |
Mounted | 组件挂载完成 |
beforeUpdate | 组件数据更新之前 |
Updated | 件数据更新之完成 |
beforeDestroy | 组件被销毁之前 |
Destroyed | 组件被销毁完成 |
三、vue 生命周期的流程、理解与分析
- 流程图
生命周期的理解分析
new Vue()
:表示开始创建一个Vue实例对象init() :
表示刚开始初始化一个vue空的实例对象 ,此时对象身上只有默认的生命周期函数和事件,其他的东西都没创建beforCreate:
注意:在beforCreate
生命周期函数执行时,data,methods
都未被初始化Create
: 在Create
中,data和methods
都已经被初始化,之后才能调用,此时vm.$el
,并没有被创建判断是否存在el?
若不存在则停止编译,直到调用vm.$mount(el)
才会继续编译,优先级:render > template > outerHTML
,vm.el获取到的是挂载DOM的beforMount:
在此阶段,可以获取到vm.el, 虽然已经完成Dom初始化,但并未挂载在el选项上mouted :
vm.el已经完成DOM的挂载和渲染,此时打印vm.el,会发现之前的挂载点几内容已经被替换成新的DOMbeforeUpdate:
更新的数据必须是被渲染在模板上的实例被销毁前调用,此时实例属性与方法仍可访问
,此时视图层还未更新,若在beforeUpdate
中再次修改数据,不会再次触发更新方法update:
完成视图层的更新 , 如若在update中再次修改数据,会再次触发更新方法(beforeUpdate、update)
beforeDestroy :
实例被销毁前调用,此时实例属性与方法仍可访问destroyed:
完全销毁一个实例。可清理它与其它实例的连接,解绑它的全部指令及事件监听器
并不能清除DOM,仅仅销毁实例
四、created和mounted这两个生命周期中请求数据的区别
created是在组件实例一旦创建完成的时候立刻调用,这时候页面dom节点并未生成mounted是在页面dom节点渲染完毕之后就立刻执行的触发时机上created是比mounted要更早的两者相同点:都能拿到实例对象的属性和方法讨论这个问题本质就是触发的时机,放在mounted请求有可能导致页面闪动(页面dom结构已经生成),但如果在页面加载前完成则不会出现此情况建议:放在create生命周期当中
ps:本文乃个人拙见,如有不当之处敬请各位看官提出宝贵意见,本人不胜感激
谈谈你对生命周期的理解?在created和mounted这两个生命周期中请求数据有什么区别呢?相关推荐
- [vue] vue在created和mounted这两个生命周期中请求数据有什么区别呢?
[vue] vue在created和mounted这两个生命周期中请求数据有什么区别呢? 看实际情况,一般在 created(或beforeRouter) 里面就可以,如果涉及到需要页面加载完成之后的 ...
- 请描述下你对 Vue 生命周期的理解?在 created 和 mounted 这两个生命周期中请求数据有什么区别呢?
Vue 生命周期总共可以分为8个阶段:初始化前后,挂载前后,更新前后,销毁前后,以及一些特殊场景的生命周期. 一.基本生命周期 生命周期 描述 beforeCreate 组件实例被创建之初 creat ...
- 堆栈(Strack)是指这样一段内存,它可以理解为一个筒结构,先放进筒中的数据被后放进筒中的数据“压住”,只有后放进筒中的数据都取出后,先放进去的数据才能被取出,称为“后进先出”。堆栈的长度可随意增加
堆栈(Strack)是指这样一段内存,它可以理解为一个筒结构,先放进筒中的数据被后放进筒中的数据"压住",只有后放进筒中的数据都取出后,先放进去的数据才能被取出,称为"后 ...
- vue生命周期(created,mounted具体用于哪些场景)、三种存储的区别
vue生命周期 什么是生命周期呢,就好像是人有生老病死一样,vue组件也有从创建到消亡的一系列过程.这个过程就叫做vue的生命周期 vue的生命周期可分为三大阶段,每个阶段都有对应的函数,叫做钩子,又 ...
- vue 生命周期 返回不触发_Vue生命周期activated之返回上一页不重新请求数据操作...
activated: 英文原意:使活动.触发 在Vue的生命周期函数中,这个好像用的不是特别多?(也许只是在我的工作中这个用的不多,或者说叫几乎不用这个) 一.需求 前不久在项目中有这样一个需求: 在 ...
- jsonp react 获取返回值_谈谈对 React 新旧生命周期的理解
前言 在写这篇文章的时候,React 已经出了 17.0.1 版本了,虽说还来讨论目前 React 新旧生命周期有点晚了,React 两个新生命周期虽然出了很久,但实际开发我却没有用过,因为 Reac ...
- 【vue其他相关】欢迎讨论!异步请求放在生命周期中的created还是mounted,已填坑
文章目录 前言 两个生命周期 场景1 场景2 场景3 结论 如何处理场景一和场景二的问题 最后 前言 曾经在百度上搜这个问题,看到的答案都是相互复制粘贴的,而且个人觉得并没具体场景举例说明,并没有好的 ...
- 谈谈你对Activity生命周期的理解
谈谈你对Activity生命周期的理解 首先,为什么Activity要有生命周期呢?我觉得这是移动设备的硬件特性和交互特性决定的. 首先从硬件上来说,移动设备不像是PC平台,它的CPU.内存.电量都受 ...
- vue声明周期_Vue生命周期的理解
当面试官问:"谈谈你对vue的生命周期的理解",听到这句话你是不是心里暗自窃喜:这也太容易了吧,不就是beforeCreate.created.beforeMount.mounte ...
最新文章
- 算法解读 ---- 递归(一)
- boost::enable_current_exception用法测试程序
- python 解析xml 文件: SAX方式
- 如何识别哭泣csdn_如何让敏感的孩子,不再那么敏感?不是溺爱,而是懂得这些方法...
- z-index属性简介
- 快手内测10分钟长视频 以吸引更多MCN、用户入驻
- 页面中动态画有超连接的图
- 苹果Mac如何在全屏幕模式下使用 App?
- 微信小程序云开发教程-JavaScript入门(3)-数据类型
- cefsharp 二次开发
- 金蝶K3工业单据中间层插件开发教程
- 【我的OpenGL学习进阶之旅】学习OpenGL ES 3.0 的实战 Awsome Demo (上)
- 狂神 redis笔记 docker
- matlab连通区域统计,MATLAB bwlabel函数 统计连通区域
- 在Word中,如何删除页眉页脚
- B2C之淘宝商城,图穷匕见
- win7中USB音箱没有声音解决办法
- 2020最新版C/C++学习路线图--从C小白到C界精英
- Android行情走势图
- MicroNet实战:使用MicroNet实现图像分类(二)