Vue生命周期示例详解


Posted in Javascript onApril 12, 2017

首先看看Vue文档里关于实例生命周期的解释图

Vue生命周期示例详解

那么下面我们来进行测试一下

<section id="app-8">
 {{data}}
</section>
var myVue=new Vue({
  el:"#app-8",
  data:{
   data:"aaaaa",
   info:"nono"
  },
  beforeCreate:function(){
   console.log("创建前========")
   console.log(this.data)
   console.log(this.$el)
  },
  created:function(){
   console.log("已创建========")
   console.log(this.info)
   console.log(this.$el)
  },
  beforeMount:function(){
   console.log("mount之前========")
   console.log(this.info)
   console.log(this.$el)
  },
  mounted:function(){
   console.log("mounted========")
   console.log(this.info)
   console.log(this.$el)
  },
  beforeUpdate:function(){
   console.log("更新前========");

  },
  updated:function(){
   console.log("更新完成========");
  },
  beforeDestroy:function(){
   console.log("销毁前========")
   console.log(this.info)
   console.log(this.$el)
  },
  destroyed:function(){
   console.log("已销毁========")
   console.log(this.info)
   console.log(this.$el)
  }
 })

代码如上,浏览器开始加载文件

Vue生命周期示例详解

Vue生命周期示例详解

Vue生命周期示例详解

由上图可知:

1、beforeCreate 此时$el、data 的值都为undefined

2、创建之后,此时可以拿到data的值,但是$el依旧为undefined

3、mount之前,$el的值为“虚拟”的元素节点

4、mount之后,mounted之前,“虚拟”的dom节点被真实的dom节点替换,并将其插入到dom树中,于是在触发mounted时,可以获取到$el为真实的dom元素()

myVue.$el===document.getElementById("app-8") // true

接着,在console中修改data,更新视图

Vue生命周期示例详解

触发beforeUpdata 和updated

接着,执行myVue.$destroy()

Vue生命周期示例详解

总结一下,对官方文档的那张图简化一下,就得到了这张图

Vue生命周期示例详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
理解Javascript_14_函数形式参数与arguments
Oct 20 Javascript
php 中序列化和json使用介绍
Jul 08 Javascript
js清空表单数据的两种方式(遍历+reset)
Jul 18 Javascript
使用requestAnimationFrame实现js动画性能好
Aug 06 Javascript
第八篇Bootstrap下拉菜单实例代码
Jun 21 Javascript
微信小程序 简单DEMO布局,逻辑,样式的练习
Nov 30 Javascript
实例解析Array和String方法
Dec 14 Javascript
jQuery表格的维护和删除操作
Feb 03 Javascript
详解小程序输入框闪烁及重影BUG解决方案
Aug 31 Javascript
微信小程序实现蒙版弹窗效果
Nov 01 Javascript
vue打开新窗口并实现传参的图文实例
Mar 04 Vue.js
vue3 自定义图片放大器效果的示例代码
Jul 23 Vue.js
easyui关于validatebox实现多重规则验证的方法(必看)
Apr 12 #Javascript
easyui-datagrid特殊字符不能显示的处理方法
Apr 12 #Javascript
JavaScript数据结构中串的表示与应用实例
Apr 12 #Javascript
javascript数据结构之串的概念与用法分析
Apr 12 #Javascript
详解RequireJS按需加载样式文件
Apr 12 #Javascript
JS表格组件神器bootstrap table使用指南详解
Apr 12 #Javascript
详谈jQuery.load()和Jsp的include的区别
Apr 12 #jQuery
You might like
复杂检索数据并分页显示的处理方法
2006/10/09 PHP
php fputcsv命令 写csv文件遇到的小问题(多维数组连接符)
2011/05/24 PHP
PHP 使用pcntl和libevent 实现Timer功能
2013/10/27 PHP
PHP实现Javascript中的escape及unescape函数代码分享
2015/02/10 PHP
微信公众平台开发实现2048游戏的方法
2015/04/15 PHP
[原创]php求圆周率的简单实现方法
2016/05/30 PHP
thinkPHP+ajax实现统计页面pv浏览量的方法
2017/03/15 PHP
php将从数据库中获得的数据转换成json格式并输出的方法
2018/08/21 PHP
PHP getDocNamespaces()函数讲解
2019/02/03 PHP
PHP实现通过文本文件统计页面访问量功能示例
2019/02/13 PHP
JavaScript Cookie的读取和写入函数
2009/12/08 Javascript
jquery.validate使用攻略 第一部
2010/07/01 Javascript
5秒后跳转到另一个页面的js代码
2013/10/12 Javascript
jQuery弹层插件jquery.fancybox.js用法实例
2016/01/22 Javascript
设计模式中的组合模式在JavaScript程序构建中的使用
2016/05/18 Javascript
jquery点击切换背景色的简单实例
2016/08/25 Javascript
angularJS 指令封装回到顶部示例详解
2017/01/22 Javascript
基于jquery实现五星好评
2017/11/18 jQuery
jQuery实现碰到边缘反弹的动画效果
2018/02/24 jQuery
vue 设置proxyTable参数进行代理跨域
2018/04/09 Javascript
Node.js创建HTTP文件服务器的使用示例
2018/05/11 Javascript
vue 动态绑定背景图片的方法
2018/08/10 Javascript
关于Vue Router中路由守卫的应用及在全局导航守卫中检查元字段的方法
2018/12/09 Javascript
VUE实现密码验证与提示功能
2019/10/18 Javascript
[46:38]完美世界DOTA2联赛PWL S2 Magma vs PXG 第三场 11.28
2020/12/02 DOTA
python不带重复的全排列代码
2013/08/13 Python
python numpy实现文件存取的示例代码
2019/05/26 Python
树莓派采用socket方式文件传输(python)
2019/06/22 Python
python3正则模块re的使用方法详解
2020/02/11 Python
Java Spring项目国际化(i18n)详细方法与实例
2020/03/20 Python
Python使用Pyqt5实现简易浏览器(最新版本测试过)
2020/04/27 Python
python用Tkinter做自己的中文代码编辑器
2020/09/07 Python
沪江旗下的海量优质课程平台:沪江网校
2017/11/07 全球购物
应届生求职信写作技巧
2013/10/24 职场文书
大学生饮食配送创业计划书
2014/01/04 职场文书
2014年社区居委会主任重阳节讲话稿
2014/09/25 职场文书