【Vue2从入门到精通】五分钟带你摸透Vue生命周期

文章目录

  • 人工智能福利文章
  • 什么是Vue生命周期
  • Vue生命周期图解
  • Vue有8个生命周期钩子函数
    • 1. beforeCreate( 创建前,一般不用管 )
      • 在这个生命周期可以做什么?
        • 1. 可以做页面拦截
        • 2.可以做自定义重定向
    • 2. created ( 创建后 )
    • 3. beforeMount ( 挂载前)
    • 4. mounted ( 挂载后,经常使用)
      • 在这个生命周期可以做什么?
    • 5. beforeUpdate(更新前)
    • 6. updated(更新后)
    • 7. beforeDestrioy(销毁前,有清除需要时使用)
      • 在这个生命周期可以做什么?
    • 8. destroyed(销毁后,一般不用管)
  • 写在最后

在这里插入图片描述
在这里插入图片描述

人工智能福利文章

  • 【分享几个国内免费可用的ChatGPT镜像】
  • 【10几个类ChatGPT国内AI大模型】
  • 【用《文心一言》1分钟写一篇博客简直yyds】
  • 【用讯飞星火大模型1分钟写一个精美的PPT】

什么是Vue生命周期

Vue的生命周期就是vue实例从创建到销毁的全过程,也就是new Vue() 开始就是vue生命周期的开始。

Vue 实例有⼀个完整的⽣命周期,也就是从开始创建、初始化数据、编译模版、挂载Dom -> 渲染、更新 -> 渲染、卸载、销毁等⼀系列过程。

钩子函数是Vue生命周期中每个阶段对外开放让程序员操作Vue的接口。Vue有8个钩子函数。

Vue生命周期图解

下图是Vue官方的生命周期图:
在这里插入图片描述

Vue有8个生命周期钩子函数

由上图可见Vue有8个生命周期

1. beforeCreate( 创建前,一般不用管 )

在这个阶段会初始化一些东西,例如:初始化data中的数据、methods中的方法、计算属性computed,以及this的指向等。

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

此时组件的选项对象还未创建,el 和 data 并未初始化,因此无法访问methods, data, computed等上的方法和数据。

在这个生命周期可以做什么?

1. 可以做页面拦截

当进一个路由的时候我们可以判断是否有权限进去,是否安全进去,携带参数是否完整,参数是否安全。使用这个钩子好函数的时候就避免了让页面去判断,省掉了创建一个组建Vue实例。

2.可以做自定义重定向

当路由还没有进去时我们判断是否正确进去,若不正确进去可以重定向到指定的页面。

这些都可以在vue路由层进行拦截和重定向。

所以,这个生命周期基本不用管。

// 初始化之前
beforeCreate() {console.log(this.messasge, "初始化数据阶段");
},

2. created ( 创建后 )

实例已经创建完成之后被调用。

在这一步,实例已完成以下配置:数据观测、属性和方法的运算,watch/event事件回调,完成了data 数据的初始化。你可以调用methods中的方法,改变data中的数据,获取computed中的计算属性等。通常我们可以在这里对实例进行预处理,也有一些童鞋喜欢在这里发ajax请求。

挂在阶段还没有开始, $el属性目前不可见,不可操作 DOM 节点。

// 初始化完毕
created() {console.log("初始化好了");
},

3. beforeMount ( 挂载前)

挂载开始之前被调用,相关的render函数首次被调用(虚拟DOM),实例已完成以下的配置: 编译模板,把data里面的数据和模板生成html,完成了el和data 初始化。

注意:此时还没有挂载html到页面上,不可操作 DOM 节点。

// 挂载前,对数据的最后一次进行更改,编译完毕,马上将要挂载
beforeMount() {console.log("编译完毕,将要进行挂载");console.log("还没有进行挂载,获取不了");
}

4. mounted ( 挂载后,经常使用)

挂载完成,也就是模板中的HTML渲染到HTML页面中,mounted只会执行一次。

// 编译完毕,将要去实现挂载
mounted() {console.log("能够获取到真实的DOM");
}

在这个生命周期可以做什么?

此时一般可以做一些ajax操作,操作 DOM 节点等。

5. beforeUpdate(更新前)

在数据更新之前被调用,发生在虚拟DOM重新渲染和打补丁之前,可以在该钩子中进一步地更改状态,不会触发附加地重渲染过程。

beforeUpdate() {// 当data里面的数据发生更新的时候,产生一份虚拟节点他,通过diff算法完成最大化的渲染,console.log("通过diff算法比对准备更新,数据还是之前的");  
}

6. updated(更新后)

在由于数据更改导致地虚拟DOM重新渲染和打补丁只会调用,调用时,组件DOM已经更新,所以可以执行依赖于DOM的操作,然后在大多是情况下,应该避免在此期间更改状态,因为这可能会导致更新无限循环,该钩子在服务器端渲染期间不被调用。

updated() {//data里面的数据和页面中此时是最新的了。console.log("更新完的");
}

7. beforeDestrioy(销毁前,有清除需要时使用)

在实例销毁之前调用,实例仍然完全可用。

在这个生命周期,还可以用this来获取实例。

在这个生命周期可以做什么?

一般在这一步做一些重置的操作,比如清除掉组件中的定时器和监听的dom事件等。

beforeDestroy () {//为组件的销毁前做一些准备console.log("销毁前最后的挣扎")// 清除定时器clearInterval(this.timer);this.timer = null;// 移除监听事件window.removeEventListener('scroll', this.handleScroll)
}

8. destroyed(销毁后,一般不用管)

在实例销毁之后调用,调用后,所有的事件监听器会被移出,所有的子实例也会被销毁,该钩子在服务器端渲染期间不被调用。

destroyed() {// 组件已经完全销毁console.log("组件得到销毁");
}

写在最后

✨ 原创不易,希望各位大佬多多支持。

👍 点赞,你的认可是我创作的动力。

⭐️ 收藏,感谢你对本文的喜欢。

✏️ 评论,你的反馈是我进步的财富。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Markdown从入门到精通

超全面的Markdown语法 一.什么是 MarkDown二.为什么要使用Markdown三.Markdown的基础语法1. 标题语法1.1 可选语法1.2 标题的最佳实践 2. 段落语法2.1 段落的最佳实践 3. 强调语法3.1 斜体(Italic)3.2 粗体(Bold)3.3 强调语法的最…

爬取最新斗图啦网站上表情包

女朋友找我斗图,最后斗她到自闭。 网址:https://www.doutula.com/ 难度不大,代码如下: # -*- coding: utf-8 -*-import random import requests from bs4 import BeautifulSoup import urllib import osBASE_URL https://www.…

表情包AI生成器:识别人脸情绪,自动配文字

梅宁航 发自 凹非寺 量子位 报道 | 公众号 QbitAI Meme表情包,兴盛于各大社交网站,但自己动手制作费时耗力。 “急民之所急”,表情包自动生成器出现了。 以往的此类生成器,只是简单的图片配文字,总觉得有点文不对题。 …

获取、导出微信所有表情

前言 适用:PC端微信 2.6.8.51版本 发布于2019年8月25日 本文仅作技术研究 一直在想微信收藏的表情包为什么不能右键另存为到本地 像QQ一样多好,有时候想把微信的表情导入到QQ里面用也不行,多不方便 百度查了一下,都是找CustomE…

怎么制作微信表情包?这两种方法,亲测好用

分享两种微信表情包制作方法,一种是用微信自带的表情包制作工具,另一种是将视频转换成GIF表情包。 一、微信小程序自制 1.首先我们打开微信,点击底部的【发现】,进入【小程序】界面,在上方的搜索框里输入“微信创意表…

Python爬虫爬取表情包+Autojs微信自动导入表情包脚本(附源码)

废话不多说直接开始 Python爬取表情包 一、检查网页源码 发现可以找到图片地址,直接请求图片地址下载图片 二、打开开发者工具(F12) 通过xpath提取p标签下的img标签src属性为图片地址 三、编写程序 代码 import requests from fake_useragent import U…

表情识别/情绪识别:ExpW表情数据集

ExpW表情数据集 1、数据集介绍2、数据集处理3、数据集下载 1、数据集介绍 论文《Deep Facial Expression Recognition: A Survey》里对其进行了介绍: ExpW [47]: The Expression in-the-Wild Database (ExpW) contains 91,793 faces downloaded using Google imag…

基于文字识别与情感语义分析的(熊猫头)Emoji表情包搜索神器 —— 可以识别本地表情包或者爬取网络表情包

AI Sticker Searcher 目录 generated with DocToc AI Sticker Searcher🌃 最新版本✨ 开始 1️⃣ 直接搜索表情包2️⃣ 本地没有表情包,想要爬取点表情包上传到云端识别搜索3️⃣ 当你本地有很多表情包图片,想要识别时4️⃣ 觉得云端搜索太慢…

获取千牛聊天对象(聊天记录中获取)

根据上一篇 获取千牛聊天记录 我们只要解析一下聊天记录的html就可以获取到聊天对象了。 先看实现效果吧实现原理就是在窗体中加了个Timer(定时器控件)定时获取html并解析就能获取到聊天对象了 但是有个问题,就是没有聊天记录的就获取不到了.... 这个问题留着下一篇解决吧.... …

旺旺打标工具,淘宝搜索打标软件(含旺旺打标API接口)

一、【旺旺打标工具,淘宝搜索打标软件】实现需求 指定的单品将会出现在手淘搜索首屏位置及淘内所有免fei流量入口位置。 二、【淘宝搜索打标】应用场景   使用淘宝搜索打标工具后,将宝贝推送到搜索页。 旺旺打标api接口返回示例: {"msg": "succe…

千牛卖家工作平台使用教程

千牛电脑版(卖家工作台) 1.13.19 免费版 千牛官方下载,千牛卖家版官方下载,千牛工作台,千牛卖家移动工作平台 让卖家可以更加便捷和高效的管理店铺,让生意游刃有余。千牛,为阿里巴巴官方出品的卖家一站式工作台,其核心是为卖家整合&#xff1…

淘宝千牛软件服务器fmsas端口与客户端的通信协议(完整版)

个人兴趣学习,不负法律责任 本例纯属学习和科研参考,请勿用在商务用途(使用淘宝开放平台的api吧~~by凉 白开QQ)。 前言: 帮朋友的过程中,突然想到一个像淘宝这样安全性这么强的互联网企业(额&…

如果鸿蒙系统上线,使用体验与安卓相当,你会换系统么?

其实这个我觉得不是你会不会换的问题,而是华为如果给了很多手机装了鸿蒙系统,而且还保持了目前的UI使用体验,同时也能做到了底层优化的技术,让速度快,为何不用?其实目前在国产基本上没有谷歌的安卓原生态系…

鸿蒙(harmonyOS)应用开发-真机设备API版本查看

如何使用hdc工具查看鸿蒙真机版本 前言 在鸿蒙应用开发中,我们会在真机上进行调试,但是我们需要保证我们选择的API版本大于或等于手机的API版本,否则可能会出现兼容性问题。那么,如何查看真机的API版本呢?本文将介绍…

『牛角书』HarmonyOS鸿蒙实战 开发一个简单聊天助手APP

前言 我是通过b站上面老师的讲解,跟着老师编写了一个简单聊天助手app,简答实用,对于刚开始接触鸿蒙的我们来说很有帮助。 创建项目 所用软件为DevEco Studio,点击Create HarmonyOS Project,这里选择了第一个空的项目…

开发跨设备的鸿蒙(HarmonyOS) App

为了让更多的人看到本文,请各位读者动动小手,点击右上角【...】,将本文分享到朋友圈,thanks! 现在的智能设备种类越来越多,而且这些智能设备的屏幕尺寸、分辨率都不同,例如,比较常见…

鸿蒙系统vivo能用吗,不是华为手机,也能用上鸿蒙系统

按照此前的进度,华为的鸿蒙 OS 系统已经在 Mate40 等多款华为系手机上小范围推送,从此前公布的消息来看,应该在 6 月份正式全面开放,让更多的用户用上这套华为自研的系统。 今天,华为召开了一场鸿蒙 OS 的合作伙伴峰会…

终于有人把鸿蒙OS讲明白了!并开放鸿蒙教程!

点击“开发者技术前线”,选择“星标????” 让一部分开发者看到未来 “ 本文面向的是开发人员,主要想通过科普让大家了解一下鸿蒙开发。接下来,我想给大家科普一下这个这么火的鸿蒙系统。 到底什么是鸿蒙 OS 在官网上看到鸿蒙 OS 的简介是…

不要总想着自己训练大模型,你的业务可能并不需要

至少企业知识库是这样。 我要训练大模型,我要做私有部署,我要做模型 Fine-tune,我要搞垂类 GPT。最近真是听了好多这样的话,让我想起之前刷到的一个视频: 我长大要开飞机,我想当宇航员,我要有所…

别光骂谷歌了!新版 Bing 花式“翻车”,还让用户向它道歉?

整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 因为 ChatGPT,最近谷歌被“黑”得挺惨:先是它发布的 ChatGPT 竞品 Bard 全球首秀“大翻车”,导致谷歌市值一夜狂跌 7000 亿;接着又被自家员工嘲讽&…