【Vue】生命周期回调函数

2023-11-09

生命周期

  1. 又名:生命周期回调函数,生命周期函数,生命周期钩子(程序员间沟通常称生命周期钩子)。
  2. 是什么:Vue在关键时刻帮我们调用的一些特殊名称的函数。
  3. 生命周期函数的名字不可更改,但是函数的具体内容是程序员根据需求编写的。
  4. 生命周期函数中的 this 指向是 实例 或 组件实例对象。

流程图解析

在这里插入图片描述

在这里插入图片描述

八个生命周期:

1.beforeCreate ------------>创建数据检测、数据代理之前
2.create ---------------------->创建数据检测、数据代理
3.beforeMount------------->挂载之前
4.mounted------------------>挂载完毕[重要钩子]
5.beforeUpdate------------>更新之前
6.updated------------------->更新完毕
7.beforeDestroy----------->销毁之前[重要钩子]
8.destroyed---------------->销毁完毕
还有三个生命周期在图中没有体现,因为只在路由中使用

实例

<div id="root">
      <h2 :style="{opacity :opacity}">当前的n值是:{{n}}</h2>
      <button @click="add">点击+1</button>
      <button @click="stop">点击停止</button>
 </div>
 new Vue({
      el: '#root',
      data() {
        return {
          n: 1,
          opacity: 1,
        };
      },
      methods: {
        stop() {
        //想要使用其他函数里的东西,可以将其绑定在 this 上
          clearInterval(this.timer);
        },
        add() {
          this.n++;
        },
      },
      // Vue完成模板解析并把'初始的'真实DOM元素放入页面后(挂载完毕)调用(只会调用一次)
      mounted() {
        //绑定给this
        this.timer = setInterval(() => {
          this.opacity -= 0.01;
          if (this.opacity <= 0) {
            this.opacity = 1;
          }
        }, 16);
      },
    });
  </script>

常用的生命周期钩子:

  1. mounted:发送ajax请求、启动定时器、绑定自定义事件、订阅消息等【初始化操作】。
  2. beforeDestroy:清除定时器、解绑自定义事件、取消订阅消息等【收尾工作】。

关于销毁Vue实例:

  1. 销毁后借助Vue开发者工具看不到任何信息。
  2. 销毁后自定义事件会失效,但原生DOM事件仍然有效
  3. 一般不会再beforeDestroy操作数据,因为即便操作数据,也不会触发更新流程了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Vue】生命周期回调函数 的相关文章

  • Javascript 函数查找数字的倍数

    创建一个名为的函数multiplesOf 它将接受两个参数 第一个参数是数字数组 第二个参数是数字 该函数应返回一个新数组 该数组由参数数组中的每个数字组成 该数字是参数数字的倍数 So multiplesOf 5 6 7 8 9 10 3
  • JavaScript 中的埃拉托斯特尼筛法对大量数据无限运行

    我一直在尝试写埃拉托斯特尼筛法 http en wikipedia org wiki Sieve of EratosthenesJavaScript 中的算法 基本上我只是按照以下步骤操作 创建从 2 到 n 1 的连续整数列表 令第一个素
  • 以编程方式填写reactjs表单

    我正在编写一个用户脚本 但无法填写由reactjs制作的表单 我的代码 document querySelector id username value email protected cdn cgi l email protection
  • 如何在react-bootstrap中禁用表单提交的

    在下面的代码片段中 我有许多文本类型的输入表单 如果用户点击 我似乎会得到相同的合成事件 就像他们按下提交按钮一样 我想忽略作为表单提交 只允许一个人按下 提交 按钮 我删除了一些表单组以减少示例 在所有情况下 按钮或 ENTER 键 e
  • 如何针对 Node.js 中发生的每个错误发送电子邮件?

    假设我的 node js 应用程序正在运行 如果出现错误 我的意思是所有错误 不仅仅是网络错误 如果出现错误 则很重要 我如何调用函数向我发送电子邮件 基本上 在我希望它写入 err out 之前 我希望向我发送一封电子邮件 我正在使用no
  • 引导程序提前输入未填充承诺的响应

    我的引导程序预输入如下
  • 将 GMT 时间转换为当地时间

    我以这种格式从我的服务器获取 GMT 时间 Fri 18 Oct 2013 11 38 23 GMT 我的要求是使用Javascript将此时间转换为本地时间 例如 如果用户来自印度 首先我需要采用时区 5 30并将其添加到我的服务器时间并
  • Javascript split 不是一个函数

    嘿朋友们 我正在使用 javascript sdk 通过 jQuery facebook 多朋友选择器在用户朋友墙上发布信息 但是我收到此错误friendId split 不是函数 这是我的代码 function recommendToFr
  • window.location 和 location.href 之间的区别

    我对之间的区别感到困惑window location and location href 两者似乎都以相同的方式行事 有什么不同 window location是一个对象 它保存有关当前文档位置的所有信息 主机 href 端口 协议等 lo
  • 刷新页面时保存用户的选择

    我目前有一个页面显示不同团队的数据 我有一些数据 用户可以单击使其处于 打开 或 关闭 状态 并为每个数据显示不同的图标 它基本上就像一个清单 只是没有物理复选框 我想记住哪些 复选框 已被选中 即使在用户刷新页面或关闭浏览器并稍后返回之后
  • 为什么我们在打字稿中使用 HTMLInputElement ?

    我们为什么使用 document getElementById ipv as HTMLInputElement value 代替 document getElementById ipv value 功能getElementById返回具有类
  • Javascript 假值(null、未定义、false、空字符串:“”或 '' 和 0)和比较(==)运算符 [重复]

    这个问题在这里已经有答案了 当我使用任何一个值时 null undefined false 0 in a if陈述 它总是被评估为谬误 false 另外 这些值的否定 null undefined false 0 in a if语句总是被评
  • 正则表达式 - 从 markdown 字符串中提取所有标题

    我在用灰质 https www npmjs com package gray matter 以便将文件系统中的 MD 文件解析为字符串 解析器产生的结果是这样的字符串 n Clean er ReactJS Code Conditional
  • 日期出现奇怪的错误,“未捕获非法访问”

    所以我试图找到最新的DateJavascript 可以处理 我把它减少到 9 月 275760 并增加了我开始捕获未捕获的天数illegal access例外new Date 09 24 275760 to new Date 10 13 2
  • Javascript - 水波纹效果

    我需要 JS 上的脚本 它将以 水波纹 样式更改 images html 抱歉 6MB GIF 文件 http fcuunited ru temp listening2 gif http fcunited ru temp listening
  • 带参数的事件监听器

    我想将参数传递给 JavaScript 中的事件侦听器 我已经找到了解决方案 但我无法理解它们为什么或如何工作以及为什么其他解决方案不起作用 我有 C C 背景 但是 Javascript 函数的执行有很大不同 您能否帮助我理解以下示例如何
  • Javascript Replace() 和 $1 问题

    我正在尝试创建一个脚本来搜索文本中的模式并在它找到的字符串周围包裹一个标签 shop attributes td each function this html function i html return html replace E 0
  • 在 CKEditor 中设置字体大小和字体系列

    我正在使用 ckeditor 我想问一下这个插件如何设置font family和font size 我尝试过使用 CKEDITOR config font defaultLabel Arial CKEDITOR config fontSiz
  • 如何使用asm.js进行测试和开发?

    最近我读到asm js规范 看起来很酷 但是是否有任何环境 工具来开发和测试这个工具 这还只是处于规范阶段吗 您可以尝试使用 emscripten 和 ASM JS 1 并从侧分支在 firefox 构建中运行它 有关 asm js 的链接
  • 如何在react-highcharts中使用图表工具提示格式化程序?

    如何使用图表工具提示格式化程序 我正在使用高图表的反应包装器 我有这样的配置 const CHART CONFIG tooltip formatter tooltip gt var s b this x b each this points

随机推荐

  • IDEA创建java项目src下没有办法创建包文件/MAVEN模块名变灰且模块多道横杠

    1 IDEA中的java项目src下无法创建包文件 原因 这是因为该项目的src文件夹不是源文件夹 解决方法 需右键该文件夹 选择标记 源根 2 MAVEN模块名变灰且模块多道横杠 原因 api项目的pom xml文件被设置在maven忽略
  • 日志框架:slf4j、log4j和logback的基本使用

    slf4j是日志框架的标准 即通用接口 实现了日志框架一些通用的api 而log4j和logback是众多日志框架中的几种 log4j和logback可以单独的使用 也可以绑定slf4j一起使用 1 单独使用时分别调用框架自己的方法来输出日
  • Multi-level Attention Networks for Visual Question Answering阅读笔记

    Multi level Attention Networks 这个模型可以同时提取高级语义信息和空间信息 模型框架如下所示 该模型分为三个部分 分别是Semantic Attention Context aware Visual Atten
  • 云计算的快速发展,未来主要的发展趋势是什么?

    1 云计算的分工将会变得更加细化 随着云计算产业生态链不断完善 行业分工逐渐细化 在未来年 云计算的分工更加细化 行业云将成为云计算领域的发展热点 2 Iaas将迎来更大的降价风潮 万物互联对云计算带来更大的需求 在行业竞争和规模效应的驱动
  • 张飞硬件第四部(二)

    文章目录 第一章 项目背景 第二章 项目条件 第三章 项目实现 第一节 涉及知识点 1 1 三级管的放大作用 1 1 1 原理 1 1 2 正反馈与负反馈 1 1 3 共模干扰与差模干扰 1 1 4 差模放大 1 1 5 运算放大器 第一章
  • ESP8266EX使用SDK开发串口调试乱码

    目录 问题如图所示 问题分析 问题解决 问题如图所示 问题分析 有输出信号 说明有数据产生 可能原因 波特率不匹配 时钟频率不对 问题解决 不断调整串口调试助手的波特率9600 115200 不管用 把ESP8266的默认波特率改为9600
  • Maven使用指南(超详细)

    Maven高级 目标 理解并实现分模块开发 能够使用聚合工程快速构建项目 能够使用继承简化项目配置 能够根据需求配置生成 开发 测试环境 并在各个环境间切换运行 了解Maven的私服 1 分模块开发 1 1 分模块开发设计 1 按照功能拆分
  • 关于微信公众号获取token值和模板推送接口对接问题

    今天做了一个关于微信的接口 由于以前没有接触过关于微信的问题 现在碰到了查了很多资料 下面总结一下 1 获取token值 微信获取公众号token值需要公众号的appid和secret 这两个值是微信提供的 是不会变的 获取token值地址
  • 动力节点Java17最新零基础视频-第三章 Java基础语法

    标识符 掌握 什么是标识符 在Java中 标识符是用来给变量 方法 类和包等命名的字符序列 标识符由字母 数字 下划线和美元符号组成 但是第一个字符必须是字母 下划线或美元符号 标识符不能包含空格或其他特殊字符 也不能与Java关键字相同
  • gojs 节点(node)/线(link)的动态添加及样式(nodeTemplate / linkTemplateMap)

    1 创建节点及节点样式 节点样式可以是多种的 你阔以 可以 给不同的节点设置不同的样式 或者是直接设置一个通用的样式 比如 var CreateNode key getNextKey 设置key的方法 每个节点最好是有自己独立的key ca
  • 使用vector迭代器实现二分查找

    vector二分查找 include stdafx h include
  • macOS 视频格式转换:ffmpeg + shell 脚本【最优方案】【免费 + 高效】

    效果完美 开始转换 成功输出 ffmpeg 下载 github 开源下载 下载地址 https ffmpeg org download html shell 脚本 你的用户名 替换成你得自己的对应路劲 比如你下载的 ffmpeg 躲在路劲
  • windows的磁盘操作之七——获取当前所有的物理磁盘号

    有了前几节的基础后 本节给出一个更复杂但却非常实用的例子 很多情况下 我们想知道当前系统下安装了多少块磁盘 他们的物理驱动器号都是多少 每一块磁盘上有多少个分区 分区号怎么分布 每个分区大小是多少 这就类似于我们打开windows 的磁盘管
  • c++的工程文件的编译顺序

    以前一直以为 vs在编译c 文件时候是从头文件开始编译的 而每个头文件对应的源文件只是头文件定义中的一些实现而已 源文件不参与编译 今天经过同学指点并实践之后才发现 其实不是这样的 从中受益颇多 c 编译的时候实际上只编译源文件 而不编译头
  • 416. 分割等和子集

    题目描述 给你一个 只包含正整数 的 非空 数组 nums 请你判断是否可以将这个数组分割成两个子集 使得两个子集的元素和相等 示例 1 输入 nums 1 5 11 5 输出 true 解释 数组可以分割成 1 5 5 和 11 示例 2
  • nginx实战总结-request_time和upstream_response_time详解

    一 前言 这个主要是日志模块的延伸 这两个参数 在实战中非常重要 因此提出来单独说 二 图解 从上图中得出以下结论 打印日志是在最后一个步骤 也就是说整套请求完毕后 进行打印 请求的整套时间线 1 客户端 request gt nginx
  • 最大流解决医生排班问题

    目录 问题描述 场景建模 Ford Fulkerson方法 Edmonds karp算法 Dinic算法 问题描述 一个医院有n名医生 现有k个公共假期需要安排医生值班 每一个公共假期由若干天 假日 组成 第j个假期包含的假日用 Dj表示
  • Python接口自动化测试之文件上传

    在接口测试中 经常会涉及到文件上传 文件上传一般包含的文件是图片 视频以及如csv excel 记事本等文件 它的请求头中Content Type对应的value值是multipart form data 这里依据实际的案例来说明文件上传的
  • Makefile 神奇:驾驭编译的力量

    一 make和Makefile 当谈到 make 和 Makefile 时 通常是指构建工具 make 和用于描述编译和构建过程的文本文件 Makefile make 是一个在类Unix系统中广泛使用的构建工具 它基于文件的时间戳比较 只编
  • 【Vue】生命周期回调函数

    生命周期 又名 生命周期回调函数 生命周期函数 生命周期钩子 程序员间沟通常称生命周期钩子 是什么 Vue在关键时刻帮我们调用的一些特殊名称的函数 生命周期函数的名字不可更改 但是函数的具体内容是程序员根据需求编写的 生命周期函数中的 th