博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vue - 生命周期
阅读量:5942 次
发布时间:2019-06-19

本文共 1168 字,大约阅读时间需要 3 分钟。

图例

 

 

 

生命周期      说明

beforeCreate 在实例初始化之后,数据观测和事件配置之前被调用
created 在实例创建完成后被立即调用,完成数据观测,属性和方法的运算,初始化事件,$el属性未见
beforeMount 在挂载开始之前被调用:相关的 render 函数首次被调用,只在虚拟DOM生成HTML
mounted 在el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用。实例已完成以下的配置:用上面编译好的html内容替换el属性指向的DOM对象。完成模板中的html渲染到html页面中。此过程中进行ajax交互
beforeUpdate 在数据更新之前调用,发生在虚拟DOM重新渲染和打补丁之前。可以在该钩子中进一步地更改状态,不会触发附加的重渲染过程
updated 在由于数据更改导致的虚拟DOM重新渲染和打补丁之后调用。调用时,组件DOM已经更新,所以可以执行依赖于DOM的操作。然而在大多数情况下,应该避免在此期间更改状态,因为这可能会导致更新无限循环。该钩子在服务器端渲染期间不被调用
activated keep-alive 组件激活时调用
deactivated keep-alive 组件停用时调用
beforeDestroy 在实例销毁之前调用。实例仍然完全可用
destroyed 在实例销毁之后调用。调用后,所有的事件监听器会被移除,所有的子实例也会被销毁。该钩子在服务器端渲染期间不被调用

 

生命周期钩子示例代码

1  2  3  4     
5 Vue入门之Helloworld 6 7 8 9
10 {
{message}}11
12 13 75 76

 

 

在chrome浏览器里打开,F12看console查看,分三个阶段解读:

阶段一:创建和挂载

  • beforecreated:el 和 data 并未初始化
  • created:完成了 data 数据的初始化,el没有
  • beforeMount:完成了 el 和 data 初始化
  • mounted :完成挂载

 

阶段二:更新

在chrome console执行以下命令:

app.message= 'yes !! I do';
  • beforeUpdate:虚拟DOM中根据data变化去更新html
  • updated:将虚拟DOM更新完成的HTML更新到页面中

 

阶段三:销毁

在chrome console执行以下命令:

app.$destroy();
  • beforeDestroy:销毁之前调用
  • destroyed:销毁之后调用,之后再执行app.message= ‘hello vue’,页面不会同步更新。

 

具体图解如下:

转载地址:http://kuqtx.baihongyu.com/

你可能感兴趣的文章
微信公众平台图文教程(二) 群发功能和素材管理
查看>>
关于System.Collections空间
查看>>
Centos下基于Hadoop安装Spark(分布式)
查看>>
Centos 7.5 部署DNS
查看>>
yum简介
查看>>
cp讲解
查看>>
MariaDB Galera Cluster 部署(如何快速部署MariaDB集群)
查看>>
如何在 Swift 语言下使用 iOS Charts API 制作漂亮图表?
查看>>
论代码审查的重要性
查看>>
「docker实战篇」python的docker爬虫技术-导学(一)
查看>>
如何确定一个网站是用Wordpress开发的
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
wdcp 安装
查看>>
C语言运算符优先级相关问题
查看>>
MP4视频播放器代码
查看>>
Nginx 匹配 iphone Android 微信
查看>>
ldap
查看>>
Yum软件仓库配置
查看>>
linux 压缩与解压总结
查看>>