基于Vue实例生命周期(全面解析)


Posted in Javascript onAugust 16, 2017

前面的话

Vue实例在创建时有一系列的初始化步骤,例如建立数据观察,编译模板,创建数据绑定等。在此过程中,我们可以通过一些定义好的生命周期钩子函数来运行业务逻辑。本文将详细介绍Vue实例的生命周期

图示

下图是Vue实例生命周期的图示

基于Vue实例生命周期(全面解析)

解释

接下来,根据提供的生命周期钩子,对Vue实例各个阶段的情况进行详细说明

【beforeCreate】

在实例开始初始化时同步调用。此时数据观测、事件等都尚未初始化

【created】

在实例创建之后调用。此时已完成数据观测、事件方法,但尚未开始DOM编译,即未挂载到document中

【beforeMount】

在mounted之前运行

【mounted】

在编译结束时调用。此时所有指令已生效,数据变化已能触发DOM更新,但不保证$el已插入文档

【beforeUpdate】

在实例挂载之后,再次更新实例(例如更新 data)时会调用该方法,此时尚未更新DOM结构

【updated】

在实例挂载之后,再次更新实例并更新完DOM结构后调用

【beforeDestroy】

在开始销毁实例时调用,此刻实例仍然有效

【destroyed】

在实例被销毁之后调用。此时所有绑定和实例指令都已经解绑,子实例也被销毁

【activated】

需要配合动态组件keep-live属性使用。在动态组件初始化渲染的过程中调用该方法

【deactivated】

需要配合动态组件keep-live属性使用。在动态组件初始化移出的过程中调用该方法

简单实例

下面写一个简单实例来更清楚地了解Vue实例内部的运行机制

<div id="example">{{message}}</div>
<script>
var vm = new Vue({
 el: '#example',
 data:{
 message:'match'
 },
 beforeCreate(){
 console.log('beforeCreate');
 },
 created(){
 console.log('created');
 },
 beforeMount(){
 console.log('beforeMount');
 },
 mounted(){
 console.log('mounted');
 },
 beforeUpdate(){
 console.log('beforeUpdate');
 },
 updated(){
 console.log('updated');
 //组件更新后调用$destroyed函数,进行销毁
 this.$destroy(); 
 },
 beforeDestroy(){
 console.log('beforeDestroy');
 },
 destroyed(){
 console.log('destroyed');
 },
})
</script>
基于Vue实例生命周期(全面解析)

以上这篇基于Vue实例生命周期(全面解析)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
网站被黑的假象--ARP欺骗之页面中加入一段js
May 16 Javascript
javascript整除实现代码
Nov 23 Javascript
利用jQuery实现WordPress中@的ID悬浮显示评论内容
Dec 11 Javascript
Javascript实现苹果悬浮虚拟按钮
Apr 10 Javascript
浅析jQuery Ajax通用js封装
Jun 22 Javascript
javascript回到顶部特效
Jul 30 Javascript
js仿腾讯QQ的web登陆界面
Aug 19 Javascript
Vue-Router2.X多种路由实现方式总结
Feb 09 Javascript
详解在React中跨组件分发状态的三种方法
Aug 09 Javascript
原生Javascript+HTML5一步步实现拖拽排序
Jun 12 Javascript
低门槛开发iOS、Android、小程序应用的前端框架详解
Oct 16 Javascript
面试中canvas绘制图片模糊图片问题处理
Mar 13 Javascript
基于JQuery的Ajax方法使用详解
Aug 16 #jQuery
angular或者js怎么确定选中ul中的哪几个li
Aug 16 #Javascript
JS操作时间 - UNIX时间戳的简单介绍(必看篇)
Aug 16 #Javascript
label+input实现按钮开关切换效果的实例
Aug 16 #Javascript
bootstrap modal+gridview实现弹出框效果
Aug 15 #Javascript
vue实现点击图片放大效果
Aug 15 #Javascript
jquery获取链接地址和跳转详解(推荐)
Aug 15 #jQuery
You might like
用php+mysql一个名片库程序
2006/10/09 PHP
php计算两个日期时间差(返回年、月、日)
2014/06/19 PHP
php面象对象数据库操作类实例
2014/12/02 PHP
jQuery技巧总结
2011/01/01 Javascript
自己动手写的javascript前端等待控件
2015/10/30 Javascript
实例代码详解javascript实现窗口抖动及qq窗口抖动
2016/01/04 Javascript
jQuery Mobile弹出窗、弹出层知识汇总
2016/01/05 Javascript
jQuery简单动画变换效果实例分析
2016/07/04 Javascript
JS解决iframe之间通信和自适应高度的问题
2016/08/24 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
2017/01/20 Javascript
Js实现中国公民身份证号码有效性验证实例代码
2017/05/03 Javascript
jquery仿微信聊天界面
2017/05/06 jQuery
vue 1.x 交互实现仿百度下拉列表示例
2017/10/21 Javascript
vue-cli3搭建项目的详细步骤
2018/12/05 Javascript
vue-cli系列之vue-cli-service整体架构浅析
2019/01/14 Javascript
Vue防止白屏添加首屏动画的实例
2019/10/31 Javascript
Java 生成随机字符的示例代码
2021/01/13 Javascript
python文件读写操作与linux shell变量命令交互执行的方法
2015/01/14 Python
在Python中处理列表之reverse()方法的使用教程
2015/05/21 Python
浅析Python中return和finally共同挖的坑
2017/08/18 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
2018/03/19 Python
python pandas修改列属性的方法详解
2018/06/09 Python
python修改字典键(key)的方法
2019/08/05 Python
在python中利用dict转json按输入顺序输出内容方式
2020/02/27 Python
python os模块常用的29种方法使用详解
2020/06/02 Python
土耳其时尚潮流在线购物网站:Trendyol
2017/10/10 全球购物
英国买鞋网站:Charles Clinkard
2019/11/14 全球购物
意大利和国际最佳时尚品牌:Drestige
2019/12/28 全球购物
淘宝中秋节活动方案
2014/01/31 职场文书
会计毕业自我鉴定
2014/02/05 职场文书
环境工程专业自荐信范文
2014/03/18 职场文书
清明节网上祭英烈活动总结
2014/04/30 职场文书
2015年元旦文艺晚会总结(学院)
2014/11/28 职场文书
2015年法院工作总结范文
2015/04/28 职场文书
中学音乐课教学反思
2016/02/18 职场文书
Python爬虫:从m3u8文件里提取小视频的正确操作
2021/05/14 Python