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

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

生命周期介绍

简单说就是一个组件从开始到最后消亡所经历的各种状态,就是一个组件的生命周期

vue的生命周期图

beforeCreate(创建前)

beforeCreate(初始化页面前)

详情:实例初始化之后,组件被创建时,这时候 el,data,message 都是 underfined

场景:可以加入 loading 事件;在服务器端的应用场景中,这个时候发送数据请求比较多一些


create(创建后)

created(初始化界面后)

详情:实例创建完成后,data、methods 被初始化

场景:结束 loading 事件;推荐这个时候发送请求数据,尤其是返回的数据与绑定事件有关时


beforeMount(载入前)

beforeMount(渲染dom前)

详情:完成el和data初始化,在挂载开始之前被调用

场景:可以发送数据请求

注意:在服务器端渲染期间不会被调用


mounted(载入后)

mounted(渲染dom后)

详情:vue实例已经挂载到页面中

场景:获取 el 中 DOM 元素,进行 DOM 操作;如果返回的数据操作依赖 DOM 完成,推荐这个时候发送数据请求

注意:在服务器端渲染期间不会被调用


beforeUpdate(更新前)

beforeUpadated(更新数据前)

详情:数据更新时调用

场景:挂载完成之前访问现有DOM,比如手动移除已添加的事件监听器;也可以进一步修改数据

注意:在服务器渲染期间不会被调用,只有初次渲染会在服务端调用


updated(更新后)

updated(更新数据后)

详情:由于数据更改,重新渲染时调用

场景:可执行依赖与DOM的操作

注意:服务器端渲染期间不会被调用


beforeDestory(销毁前)

beforeDestory(卸载组件前)

详情:实例销毁之前调用

场景:实例销毁之前,执行清理任务,比如:清除定时器等

注意:服务器端渲染期间不会被调用


destoryed(销毁后)

destroyed(卸载组件后)

详情:vue实例销毁后调用。调用后,Vue实例指示的所有东西都会被解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁

场景:提示已删除

注意:服务器端渲染期间不会被调用


生命周期代码的执行效果

        

{

{ message }}

复制代码

页面运行效果

点击change的效果

点击destroy的效果

转载于:https://juejin.im/post/5d4a5b866fb9a06b0b1c5ec0

你可能感兴趣的文章
如何避免在简单业务逻辑上面的细节上面出错
查看>>
大型网站高并发的架构演变图-摘自网络
查看>>
8丶运行及总结
查看>>
Design Pattern --- Strategy
查看>>
mui列表跳转到详情页优化方案
查看>>
一些简单有用的方法合集
查看>>
Neutron 架构 - 每天5分钟玩转 OpenStack(67)
查看>>
详解JS设计模式
查看>>
CPSR寄存器
查看>>
Java基础50题test7—处理字符串
查看>>
保险行业电话外呼型呼叫中心方案
查看>>
自建型呼叫中心
查看>>
input file 文件上传,js控制上传文件的大小和格式
查看>>
Day 6 函数与模块
查看>>
WebApi请求原理
查看>>
[Node.js] node-persist: localStorage on the server
查看>>
jquery.event 研究学习之bind篇
查看>>
LOJ #108. 多项式乘法
查看>>
libusb开发指南
查看>>
SAS基础 -- 逻辑库不存在问题解决
查看>>