Vue生命周期函数(详解)

目录

 生命周期图

生命周期函数

beforeCreate和created的区别

beforeCreate创建前应用场景

 created创建后应用场景

beforeMount和mounted的区别

 beforeMount挂载前应用场景

 mounted挂载后应用场景

 beforeUpdate和updated的区别

 beforeUpdate更新前应用场景

 updated更新后应用场景

 beforeDestroy和destroyed的区别

 beforeDestroy销毁前

 destroyed销毁后

总结


 生命周期图


 上图生命周期每个红色的钩子是一个阶段,可以在每个不同的阶段写合适的代码。

生命周期函数

生命周期分为四个对子,根据不同的情况使用不同的函数

其中beforeUpdate、updated能执行多次

beforeCreate、created创建前、创建后
beforeMount、mounted挂载前、挂载后
beforeUpdate、updated更新前、更新后
beforeDestroy、destroyed销毁前、销毁后

下面的四种应用场景用的统一HTML代码

<div id="app">{{myName}}
</div>

 

beforeCreate和created的区别

创建前、创建后

beforeCreate创建前应用场景

vue代码:

var app = new Vue({el: '#app',data() {return {myName:'abc',}},beforeCreate(){//获取body并输出测试var bodyDom=document.getElementsByTagName("body")[0].innerHTML;console.log("created",this.myName,bodyDom);}});

浏览器输出结果:

beforeCreate中data的数据是没有被定义的,created后面是undefined并且{{myName}}还未被识别

 created创建后应用场景

vue代码:

var app = new Vue({el: '#app',data() {return {myName:'abc',}},created(){//获取body并输出测试var bodyDom=document.getElementsByTagName("body")[0].innerHTML;console.log("created",this.myName,bodyDom);}
});

浏览器输出结果:

created主要做一些页面的数据的数据初始化工作,获取到了myName的值,但是后台显示的还是{{myName}}值还未被填上去

 

beforeMount和mounted的区别

挂载前、挂载后

 beforeMount挂载前应用场景

vue代码:

var app = new Vue({el: '#app',data() {return {myName:'abc',}},beforeMount(){//获取body并输出测试var bodyDom=document.getElementsByTagName("body")[0].innerHTML;console.log("beforeMount",this.myName,bodyDom);},}
});

浏览器输出结果:

输出结果和created创建后一样,是在创建后挂载前,自我感觉没啥大用

 mounted挂载后应用场景

vue代码:

var app = new Vue({el: '#app',data() {return {myName:'abc',}},mounted(){//获取body并输出测试var bodyDom=document.getElementsByTagName("body")[0].innerHTML;console.log("beforeMount",this.myName,bodyDom);},}
});

浏览器输出结果:

数据已经渲染到View中

 beforeUpdate和updated的区别

更新前、更新后;和其他三个不同可被重复执行

 beforeUpdate更新前应用场景

vue代码:

var app = new Vue({el: '#app',data() {return {myName:'abc',}},beforeUpdate(){//获取body并输出测试var bodyDom=document.getElementsByTagName("body")[0].innerHTML;console.log("beforeMount",this.myName,bodyDom);},}
});

浏览器输出结果:

数据更新前,数据未改变

 updated更新后应用场景

vue代码:

var app = new Vue({el: '#app',data() {return {myName:'abc',}},updated(){//获取body并输出测试var bodyDom=document.getElementsByTagName("body")[0].innerHTML;console.log("beforeMount",this.myName,bodyDom);},}
});

浏览器输出结果:

数据更新后,数据已改变

 beforeDestroy和destroyed的区别

销毁前、销毁后

 beforeDestroy销毁前

一般应用到的场景:

  • 清除定时器
  • 解绑自定义事件
  • 取消订阅、事件监听

没有具体代码演示

 destroyed销毁后

此钩子函数会在组件实例销毁之后执行,此时所有的组件包括子组件都被销毁了。

也没有具体代码演示

总结

几个生命周期函数各有各的特点,根据不同的业务,使用不同的生命周期函数来解决问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1379839.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

数据通信——VRRP

引言 之前把实验做了&#xff0c;结果发现我好像没有写过VRRP的文章&#xff0c;连笔记都没记过。可能是因为对STP的记忆&#xff0c;导致现在都没忘太多。 一&#xff0c;什么是VRRP VRRP全名是虚拟路由冗余协议&#xff0c;虚拟路由&#xff0c;看名字就知道这是运行在三层接…

【前端 | CSS】滚动到底部加载,滚动监听、懒加载

背景 在日常开发过程中&#xff0c;我们会遇到图片懒加载的功能&#xff0c;基本原理是&#xff0c;滚动条滚动到底部后再次获取数据进行渲染。 那怎么判断滚动条是否滚动到底部呢&#xff1f;滚动条滚动到底部触发时间的时机和方法又该怎样定义&#xff1f; 针对以上问题我…

【瑞吉外卖】Linux学习

Linux常用命令 Linux命令初体验 Linux的命令都是由一个或几个单词的缩写构成的 命令对应英文作用lslist查看当前目录下的内容pwdprint work directory查看当前所在目录cd [目录名]change directory切换目录touch [文件名]touch如果文件不存在&#xff0c;新建文件mkdir [目录…

HCIA---动态路由---RIP协议

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 目录 前言 一.动态路由 二.动态路由协议分类 IGP&#xff1a;内部网关协议 EGP:外部网关协议 三.RIP协议概述 RIP版本分类&#xff1a; RIP三要素&#xff1a; 思维…

JSP的文件扩展名必须是.jsp吗

并不是 打开Tomcat目录下conf目录下的web.xml 也就是说,映射路径为xxx.jsp或者xxx.jspx就会访问jsp 可以修改

C语言每日一题:16:数对。

思路一&#xff1a;基本思路 1.x,y均不大于n&#xff0c;就是小于等于n。 2.x%y大于等于k。 3.一般的思路使用双for循环去遍历每一对数。 代码实现&#xff1a; #include <stdio.h> int main() {int n 0;int k 0;//输入scanf("%d%d", &n, &k);int x…

将exe应用打包成安装包

文章目录 前言一、打包exe文件1.安装Inno setup2.打包成安装包 二、测试安装包 前言 使用Inno setup应用来打包exe文件成安装包 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、打包exe文件 1.安装Inno setup 官网网址&#xff1a;https://jrsoft…

EasyExcel下载xls、xlsx 出现文件格式与扩展名不匹配

是ContentType类型错误&#xff0c;如果需要导出xlsx就使用 response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); 如果使用xls就设置为&#xff1a;response.setContentType("application/vnd.ms-excel;charsetUT…

导出多个Excel文件并打包为压缩包下载

问题简述 之前系统里做的导出都是千篇一律的所有文件导在一个excel里&#xff0c;有现成的工具&#xff0c;现成的逻辑。 突然有那么一天&#xff0c;一切都不再现成了&#xff0c;我得把数据们导出为压缩包&#xff0c;一人一个Excel谁也不干涉谁。研究和参考了一下网上大神…

office安装包百度云

包含了office2010&#xff0c;office2013&#xff0c;office2016&#xff0c;office2019&#xff0c;office2021以及 新的office安装包 百度云网盘分享office 安装教程&#xff1a; 1安装前&#xff0c; 解压完成后&#xff0c;找到Setup.exe并双击 2等待安装&#xff0c;过程…

excel哪个版本好用,应该怎么选择

excelexcel哪个版本最好用&#xff1f;Excel软件是上班族必备的电脑办公神器&#xff0c;它带来了专业的数据整理和可视化随着excel的版本更新&#xff0c;可以使用的excel版本越来越多&#xff0c;让你的数据信息更加简洁直观那么&#xff0c;哪个版本的excel软件更有用呢 一…

R之Excel文件读取与程序包的安装调用

目录 方法一 方法二 1.用命令安装 2.从下拉菜单安装 三、加载所需安装包 方法一 方法二 四、使用新程序包读取数据 方法一 另存为 .csv 文件 这是wps的另存为 然后选择位置&#xff0c;重命名或更改格式为 .csv 这是excel 的另存为 文件 —— 另存为 —— 选择位置 …

spark 图计算 助力解决 dataframe中的链式依赖

链式依赖说明 name newName a b c d b c 我们需要的结果 即我们可以支持获取到链式转换的 起点 重点 以及链式的中间转换过程顺序数组. 特别说明: 出版只支持 单向 无分叉的图,其他复杂场景暂时未测试. 场景举例: 比如某件商品价格变化,我们需要知…

基础计算机算法函数,算法基础入门概述

著名计算机科学家沃思(NiklausWirth)提出一个公式&#xff1a;算法 数据结构 程序&#xff0c;其中算法是程序的灵魂。 01算法的定义及特性 在数学和计算机科学/算学之中&#xff0c;算法/演算法/算则法(algorithm)为一个计算的具体步骤&#xff0c;常用于计算、数据处理和自…

MapReduce 论文阅读笔记 MapReduce 简介

论文&#xff1a; MapReduce: Simplified Data Processing on Large Clusters Jeffrey Dean and Sanjay Ghemawat Google https://pdos.csail.mit.edu/6.824/papers/mapreduce.pdf MapReduce 是一种分布式系统中处理大数据方法。他提出是在 2004&#xff0c; jeff dean 和 Sanj…

2017 CS231n学习笔记(三)----损失函数和最优化(Loss Functions and Optimization )

video&#xff1a;https://study.163.com/course/courseMain.htm?courseId1004697005 slides&#xff1a;http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture3.pdf course notes&#xff1a;http://cs231n.github.io/ 文章所有内容来自Stanford university 课程 CS2…

时间和空间复杂度分析

前言 对于数据结构相关的博客文章&#xff0c;我是根据大学本科阶段《数据结构和算法》课程的内容和王争老师在即刻时间上的《数据结构和算法之美》系列课程&#xff08;墙裂推荐&#xff09;进行了一些排版参考和笔记性梳理。这些文章作为笔记总结&#xff0c;一方便是为了夯…

INT303 Big Data 个人笔记

又来到了经典半个月写一个学期内容的环节 目前更新至Lec{14}/Lec14 依旧是不涉及代码&#xff0c;代码请看学校的jupyter notebook~ Lec1 Introduction 介绍课程 TopicRangeTopic 1: Introduction to Big Data AnalyticsLec1~Lec3Topic2: Big data collection and visualiza…

日撸 Java 三百行(21 天: 二叉树及其基本操作)

注意&#xff1a;这里是JAVA自学与了解的同步笔记与记录&#xff0c;如有问题欢迎指正说明 目录 前言 一、一对多的结构&#xff1a;树形结构 二、二叉树 1.二叉树的体现运用 2.二叉树存储 三、二叉树遍历 1.树遍历的递归思想中的“三角抉择” 2.树的前、中、后序遍历…