Vue实例中生命周期created和mounted的区别详解


Posted in Javascript onAugust 25, 2017

前言

本文主要跟大家介绍了关于Vue实例中生命周期created和mounted区别的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

生命周期先上图

Vue实例中生命周期created和mounted的区别详解

什么是生命周期

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

在Vue的整个生命周期中,它提供了一系列的事件,可以让我们在事件触发时注册js方法,可以让我们用自己注册的js方法控制整个大局,在这些事件响应方法中的this直接指向的是vue的实例。

再上图,对生命周期图的标注

特别值得注意的是created钩子函数和mounted钩子函数的区别

Vue实例中生命周期created和mounted的区别详解

每个钩子函数都在啥时间触发

beforeCreate

在实例初始化之后,数据观测(data observer) 和 event/watcher 事件配置之前被调用。

created

实例已经创建完成之后被调用。在这一步,实例已完成以下的配置:数据观测(data observer),属性和方法的运算, watch/event 事件回调。然而,挂载阶段还没开始,$el 属性目前不可见。

beforeMount

在挂载开始之前被调用:相关的 render 函数首次被调用。

mounted

el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。

beforeUpdate

数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前。 你可以在这个钩子中进一步地更改状态,这不会触发附加的重渲染过程。

updated

由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。

当这个钩子被调用时,组件 DOM 已经更新,所以你现在可以执行依赖于 DOM 的操作。然而在大多数情况下,你应该避免在此期间更改状态,因为这可能会导致更新无限循环。

该钩子在服务器端渲染期间不被调用。

beforeDestroy

实例销毁之前调用。在这一步,实例仍然完全可用。

destroyed

Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。 该钩子在服务器端渲染期间不被调用。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
jQuery基础语法实例入门
Dec 23 Javascript
JavaScript中实现单体模式分享
Jan 29 Javascript
学习JavaScript设计模式之责任链模式
Jan 18 Javascript
sso跨域写cookie的一段js脚本(推荐)
May 25 Javascript
JavaScript之面向对象_动力节点Java学院整理
Jun 29 Javascript
vue全局组件与局部组件使用方法详解
Mar 29 Javascript
vue组件与复用详解
Apr 08 Javascript
layui 给数据表格加序号的方法
Aug 20 Javascript
vue axios 简单封装以及思考
Oct 09 Javascript
Vue axios 将传递的json数据转为form data的例子
Oct 29 Javascript
JavaScript类的继承多种实现方法
May 30 Javascript
vue实现广告栏上下滚动效果
Nov 26 Vue.js
Vue.js框架路由使用方法实例详解
Aug 25 #Javascript
关于Vue.nextTick()的正确使用方法浅析
Aug 25 #Javascript
jQuery图片缩放插件smartZoom使用实例详解
Aug 25 #jQuery
JS中利用swiper实现3d翻转幻灯片实例代码
Aug 25 #Javascript
在Vue组件化中利用axios处理ajax请求的使用方法
Aug 25 #Javascript
JS点击图片弹出文件选择框并覆盖原图功能的实现代码
Aug 25 #Javascript
JavaScript数据类型的存储方法详解
Aug 25 #Javascript
You might like
PHP新手入门学习方法
2011/05/08 PHP
php5.2 Json不能正确处理中文、GB编码的解决方法
2014/03/28 PHP
php 问卷调查结果统计
2015/10/08 PHP
Yii2使用swiftmailer发送邮件的方法
2016/05/03 PHP
php判断是否连接上网络的方法实例详解
2016/12/14 PHP
PHP code 验证码生成类定义和简单使用示例
2020/05/27 PHP
javascript事件问题
2009/09/05 Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
2012/09/14 Javascript
jquery设置元素的readonly和disabled的写法
2013/09/22 Javascript
常用jQuery代码分享
2015/07/14 Javascript
jquery无限级联下拉菜单简单实例演示
2015/11/23 Javascript
JavaScript数据类型转换的注意事项
2016/07/31 Javascript
js拼接html字符串的注意事项
2016/10/13 Javascript
分享bootstrap学习笔记心得(组件及其属性)
2017/01/11 Javascript
Vue实现一个返回顶部backToTop组件
2017/07/25 Javascript
three.js实现3D模型展示的示例代码
2017/12/31 Javascript
Node.js爬取豆瓣数据实例分析
2018/03/05 Javascript
js传递数组参数到后台controller的方法
2018/03/29 Javascript
vue和better-scroll实现列表左右联动效果详解
2019/04/29 Javascript
微信小程序如何调用新闻接口实现列表循环
2019/07/02 Javascript
详解Vue.js 作用域、slot用法(单个slot、具名slot)
2019/10/15 Javascript
Vue退出登录时清空缓存的实现
2019/11/12 Javascript
解决echarts 一条柱状图显示两个值,类似进度条的问题
2020/07/20 Javascript
Vue左滑组件slider使用详解
2020/08/21 Javascript
原生js实现移动小球(碰撞检测)
2020/12/17 Javascript
[02:48]DOTA2英雄基础教程 拉席克
2013/12/12 DOTA
python ansible服务及剧本编写
2017/12/29 Python
详解Python中如何写控制台进度条的整理
2018/03/07 Python
python版大富翁源代码分享
2018/11/19 Python
Django shell调试models输出的SQL语句方法
2019/08/29 Python
opencv调整图像亮度对比度的示例代码
2019/09/27 Python
Python常用库大全及简要说明
2020/01/17 Python
Python使用Excel将数据写入多个sheet
2020/05/16 Python
HTML5标签大全
2016/11/23 HTML / CSS
学校交通安全责任书
2014/08/25 职场文书
小学教研工作总结2015
2015/05/13 职场文书