生命周期函数

生命周期函数,也叫钩子函数、生命函数。

定义:在某一种条件成立的时刻 系统会去调用的vue中设定的函数 这些函数都叫做:生命周期函数。

什么叫钩子?

c语言中有一类系统回调的函数然后执行业务 叫做钩子

为什么要用生命周期函数?

1.把整个运行期间的业务区分的很明显;

2.能够更好的帮助我们把产品的业务逻辑实现了;

3.更有利于我们维护产品 和 修改需求;

4.能够让我们写出更高质量的产品的代码.

今天我们学习当前vm实例在创建到销毁的过程中,会去调用的8个生命周期函数。

依次讲解:

1、beforeCreate(){}

根据函数名的英语我们可以理解成创建完成前

这个函数是干什么的?

主要用于预加载网络资源,并不进行页面渲染,将资源缓存到本地,当页面渲染需要请求该资源时直接在本地获取。

这个函数调用时能否网络请求?

能做网络请求,因为这是函数在运行时XMLHttpRequest是可以访问并且去做AJAX请求的。

能否网络请求数据 然后设置到数据源中?

不能设置到数据源中,因为这个钩子中 this还在创建,this对象中还不能访问到数据。

2、created(){}

理解为创建完成

这个函数在项目中干什么?

请求首屏数据。

能否网络请求?

能做网络请求,因为这是函数在运行时XMLHttpRequest是可以访问并且去做AJAX请求的。

能否网络请求数据 然后设置到数据源中?

可以设置到数据源中,因为这个钩子中 this已经创建完毕了,vm对象已经创建完毕了,但是它(vm)还没有挂载到DOM树中,这个函数可以操作this对象了  但是无法操作DOM。

3、beforeMount(){}

理解为挂载完成之前

这个函数在项目中干什么?

用于渲染前的操作

能否网络请求?

能做网络请求,因为这是函数在运行时XMLHttpRequest是可以访问并且去做AJAX请求的。

能否网络请求数据 然后设置到数据源中?

能设置到数据源中,运行这个函数时,vm对象已经创建完毕了,在挂载之前触发的钩子。这个函数可以操作this对象了 但是无法操作DOM。

4、mounted(){}

理解为挂载完成

这个函数在项目中干什么?

请求首屏数据,请求时页面已经出来了,vm已经挂载到页面了。

能否网络请求?

能做网络请求,因为这是函数在运行时XMLHttpRequest是可以访问并且去做AJAX请求的。

能否网络请求数据 然后设置到数据源中?

能设置到数据源中,运行这个函数时,vm已经挂载到页面了。

5、beforeUpdate(){}

理解为页面重新渲染之前

这个函数在项目中干什么?

用于重新渲染之前的操作。

能否网络请求?

不能网络请求新数据 去更新数据源,会导致死循环。

运行这个函数时,数据源已经更新了,这个函数是页面重新渲染前(并不是数据更新前) 触发的钩子。

6、updated(){}

理解为页面重新渲染完成

这个函数在项目中干什么?

用于重新渲染完成时的操作

能否网络请求?

不能网络请求新数据 去更新数据源,也会导致死循环。

7、beforeDestroy(){}

理解为销毁完成之前

这个函数在项目中干什么?

vm对象销毁之前触发的钩子,this还在  可以做最后的操作,例如保存用户的行为配置文件:播放器的进度等等

也能做网络请求

8、destroyed(){}

理解为vm对象已经销毁

这个函数在项目中干什么?

vm对象销毁之前触发的钩子,this已经不存在,无法操作this。往往把当前组件中计时器清除了  可以把body的滚动条滚到顶部。

也能做网络请求

总结一下

beforeCreate created beforeMount mounted beforeDestroy destoryed这些钩子都只执行一次;

beforeUpdate updated第一次构建不会调用,以后每次data被更新了就会调用;

beforeDestroy destroyed 销毁的方式有两种:用户关闭和代码this.$destroy()//销毁vm实例。

只有beforeUpdate updated运行时不能做网络请求;

我们一般把网络请求放在created或者mounted中,具体的根具业务需求来;

放在created:因为有时候我们希望异步的网络请求和vm的挂载同时进行 体现出CPU多核的优势 放在mounted:因为有时候我们希望本地的UI骨架已经加载完毕以后再去请求数据刷新UI

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 NSIS(Nullsoft Scriptable Install System)中,可以使用生命周期函数来控制安装程序的不同阶段和行为。以下是 NSIS 中常用的生命周期函数: 1. .onInit:在安装程序开始之前执行的函数。通常用于初始化变量和执行一些准备工作。 2. .onGUIInit:在创建安装程序界面之前执行的函数。您可以在此函数中自定义安装程序的界面样式和布局。 3. .onSelctionShow:在用户选择安装选项之前执行的函数。您可以在此函数中进行一些预处理或显示自定义的安装选项界面。 4. .onSectionIn:在每个部分开始之前执行的函数。您可以在此函数中执行一些特定部分的预处理操作。 5. .onSectionEnd:在每个部分结束之后执行的函数。您可以在此函数中执行一些特定部分的清理操作或跳转到下一个部分。 6. .onInstSuccess:在安装成功完成后执行的函数。您可以在此函数中显示安装成功的消息或执行其他操作。 7. .onInstFailed:在安装失败时执行的函数。您可以在此函数中显示安装失败的消息或执行其他错误处理操作。 除了上述生命周期函数外,还有其他一些特定事件的生命周期函数,如.onUserAbort(用户取消安装时执行)、.onRebootFailed(重启失败时执行)等。通过定义这些生命周期函数,您可以更好地控制和定制安装程序的行为和流程。 请注意,生命周期函数的命名是固定的,需要按照特定的命名规则来定义,并且需要在 NSIS 脚本中显式地调用它们。更多关于 NSIS 生命周期函数的详细信息可以在 NSIS 的官方文档中找到。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值