Vue生命周期

在 模板编译 和 数据劫持 的 过程 暴露了一些 钩子!

beforeCreate

在实例初始化之后,数据观测和事件配置之前被调用

此时data 和 methods 以及页面的DOM结构都没有初始化 什么都做不了 

它能用this,但是this中不能得到data和methods中数据和方法

执行1次

created

在实例创建完成后被立即调用

此时data 和 methods已经可以使用 但是页面还没有渲染出来 

数据已经监听完毕,能 用this对象 

执行1次

beforeMount

在挂载开始之前,数据和模板编译完成,还没有挂载到dom节点中之前执行

此时页面上还看不到真实数据 只是一个模板页面而已  

执行1次

mounted

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

也就是虚拟dom挂载到真实的dom中去了

数据已经真实渲染到页面上 在这个钩子函数里面可以进行数据请求  

执行1次

beforeUpdate

数据修改之前调用,页面上数据还是旧的  

n次

updated

数据修改之后,页面上数据已经替换成最新的 

n次

beforeDestroy

实例销毁之前调用   

一般会在此处对于计算器等进行清理处理    // 离开之前清空动画

执行1次

destroyed

实例销毁后调用     执行1次

activated

keep-alive 组件激活时调用

deactivated

keep-alive 组件停用时调用

errorCaptured

当捕获一个来自子孙组件的错误时被调用

vue3放弃了el,直接用$mount()


网络请求写在哪

created     beforeMount     mounted

都可以写网络请求,但是mounted是属于真实dom已经渲染,页面结构已经出来了,然后进行的网络请求,用户知道已经打开了,推荐使用。

在虚拟dom进行网络请求,会在请求后再渲染,页面是大白板,网络请求要是慢的话,用户会觉得是网速慢,就F5刷新了,无形中负载变高了。

beforeUpdate和updated也能写,但是不能改变数据源。

销毁里写就是完全没意义。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值