GuLi商城-前端基础Vue-生命周期和钩子函数

news2025/1/16 19:56:20

下图展示了实例的生命周期。你不需要立马弄明白所有的东西,不过随着你的不断学习和使用,它

的参考价值会越来越高。 

VUE 的生命周期指的是组件在创建、运行和销毁过程中所经历的一系列事件,通过这些事件可以

让开发者在不同阶段进行相应的逻辑处理。VUE 组件的生命周期分为 8 个阶段:

  • beforeCreate:组件实例刚被创建,但是数据还未初始化。在这个阶段,无法访问到 data 和 methods 等组件属性。
  • created:组件的数据已经初始化完成,但是 DOM 元素还未生成。可以进行一些异步操作,如发送 AJAX 请求获取数据等。
  • beforeMount:组件即将被挂载到页面上。在这个阶段,所有的模板和组件都已经编译成 render 函数,并准备好渲染。
  • mounted:组件已经挂载到页面上,此时可以访问到组件的 DOM 元素。可以进行一些需要访问 DOM 元素的操作,如使用第三方插件等。
  • beforeUpdate:组件更新之前被调用,在此时可以对组件进行更新前的状态和数据进行处理。
  • updated:组件更新完毕后被调用。在此阶段中不能再更新组件的数据,否则会导致死循环。
  • beforeDestroy:组件即将被销毁,在此时可以进行一些清理工作,如清除定时器、解绑事件等。
  • destroyed:组件已经被销毁,此时所有的事件监听和子组件都已经被移除。

掌握 VUE 组件的生命周期可以帮助开发者更好地理解组件的运行机制,在不同阶段进行相应的逻

辑处理,从而实现更加灵活、高效的组件开发。

Vue到底是什么?优缺点是什么? - 知乎


<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <div id="app">
        <span id="num">{{num}}</span>
        <button @click="num++">赞!</button>
        <h2>{{name}},有{{num}}个人点赞</h2>
    </div>

    <script src="../node_modules/vue/dist/vue.js"></script>
    
    <script>
        let app = new Vue({
            el: "#app",
            data: {
                name: "张三",
                num: 100
            },
            methods: {
                show() {
                    return this.name;
                },
                add() {
                    this.num++;
                }
            },
            beforeCreate() {
                console.log("=========beforeCreate=============");
                console.log("数据模型未加载:" + this.name, this.num);
                console.log("方法未加载:" + this.show());
                console.log("html模板未加载:" + document.getElementById("num"));
            },
            created: function () {
                console.log("=========created=============");
                console.log("数据模型已加载:" + this.name, this.num);
                console.log("方法已加载:" + this.show());
                console.log("html模板已加载:" + document.getElementById("num"));
                console.log("html模板未渲染:" + document.getElementById("num").innerText);
            },
            beforeMount() {
                console.log("=========beforeMount=============");
                console.log("html模板未渲染:" + document.getElementById("num").innerText);
            },
            mounted() {
                console.log("=========mounted=============");
                console.log("html模板已渲染:" + document.getElementById("num").innerText);
            },
            beforeUpdate() {
                console.log("=========beforeUpdate=============");
                console.log("数据模型已更新:" + this.num);
                console.log("html模板未更新:" + document.getElementById("num").innerText);
            },
            updated() {
                console.log("=========updated=============");
                console.log("数据模型已更新:" + this.num);
                console.log("html模板已更新:" + document.getElementById("num").innerText);
            }
        });
    </script>
</body>

</html>

 

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

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

相关文章

仿牛客论坛项目day4|开发社区登录模块

1、发送邮件 使用spring-boot-starter-mail这个包 2、开发注册功能 &#xff08;1&#xff09;访问注册页面 功能拆解&#xff1a; 点击顶部的注册按钮&#xff0c;打开注册页面 新增文件&#xff1a;controller->login 具体实现过程&#xff1a; 增加一个getregist…

图片文字识别-管理敏感词

目录 什么是OCR Tess4j案例 图片文字识别-管理敏感词 什么是OCR OCR &#xff08;Optical Character Recognition&#xff0c;光学字符识别&#xff09;是指电子设备&#xff08;例如扫描仪或数码相机&#xff09;检查纸上打印的字符&#xff0c;通过检测暗、亮的模式确定其…

win10新镜像和Navicat连接orcle数据库nodejs安装,xshell

原版软件 (itellyou.cn) 使用navicat远程连接oracle数据库_True To The Core的博客-CSDN博客 Navicat Premium 12连接Oracle时提示oracle library is not loaded的问题解决_泥巴城的博客-CSDN博客 下载最新orcle客户端就可以正常连接了 nodejs安装和环境配置-Windows_nodejs…

C++ Builder 关于TRichEdit的字符颜色标记处理

//积累经验每一天&#xff0c;以后忘记好搜索 void __fastcall TForm2::btn3Click(TObject *Sender) { //初始化验证 mmo->SelStart0; mmo->SelLengthmmo->Text.Length(); mmo->SelAttributes->ColorclBlack; String CGhEd…

数字孪生助力智慧水务:科技创新赋能水资源保护

智慧水务中&#xff0c;数字孪生有着深远的作用&#xff0c;正引领着水资源管理和环境保护的创新变革。随着城市化和工业化的不断推进&#xff0c;水资源的可持续利用和管理愈发显得重要&#xff0c;而数字孪生技术为解决这一挑战提供了独特的解决方案。 数字孪生技术&#xf…

教育行业软文怎么写,媒介盒子无偿分享

随着产业升级和技术变革、信息的智能化、数字化发展&#xff0c;也为教育行业带来了新的增长点&#xff0c;在线教育课程类型丰富多元&#xff0c;新课程不断涌现。在激烈的市场竞争环境下&#xff0c;教育机构如何根据市场实行差异化战略并加强自身品牌建成为挑战。 如今&…

牛客小白月赛70E题题解

文章目录 [ 小d的博弈](https://ac.nowcoder.com/acm/contest/53366/E)问题建模问题分析1.分析操作代码 小d的博弈 问题建模 给定一个n*m的矩形&#xff0c;有两个玩家&#xff0c;每次轮流选择某行或某列&#xff0c;然后以该行或该列将矩形分成两个&#xff0c;且取面积较小…

Spring Boot实践八--用户管理系统

1&#xff0c;技术介绍 技术选型功能说明springboot是一种基于 Spring 框架的快速开发应用程序的框架&#xff0c;它的主要作用是简化 Spring 应用程序的配置和开发&#xff0c;同时提供一系列开箱即用的功能和组件&#xff0c;如内置服务器、数据访问、安全、监控等&#xff…

一次性讲清OAuth2.0授权

文章目录 什么是OAuth2.0授权OAuth2.0工作原理OAuth2.0应用示例OAuth2.0授权模式授权码模式简化模式设备码模式 如何申请应用及密钥等信息 什么是OAuth2.0授权 OAuth2.0是一种用于授权的开放标准&#xff0c;它允许用户授权第三方应用访问其在另一个应用中存储的信息&#xff…

网络每日一练

吴泽彬 C Ip 网络层 Tcp udp 传输层&#xff0c; Http 应用层 收起 1 回复 发布于 2019-10-11 12:07 举报 fighting2016 Java A类地址中的私有地址和保留地址&#xff1a; ①10.0.0.0到10.255.255.255是私有地址&#xff08;所谓的私有地址就是在互联网上不使用&#xff0c;而被…

ASEMI探索整流桥GBU814的独特优势和应用领域

编辑-Z 整流桥GBU814在众多电子元件中独树一帜&#xff0c;可在多种设备中发挥其重要作用。作为一款集高效性能和可靠稳定性于一身的整流桥&#xff0c;GBU814已在全球范围内赢得了广泛的好评。在这篇文章中&#xff0c;我们将详细介绍GBU814整流桥的优势和应用领域。 让我们首…

对比 VPN 与远程桌面软件,为什么远程桌面更优越

数字格局不断演变&#xff0c;我们的工作和连接方式也在不断变化。企业纷纷转向远程运营&#xff0c;有关推进向远程过渡的最佳技术的争论从未停止。争论的焦点通常是虚拟专用网络&#xff08;VPN&#xff09;和远程桌面软件。 长期以来&#xff0c;VPN 一直被用作访问公司网络…

pytorch 实现VGG

VGG全称是Visual Geometry Group&#xff0c;因为是由Oxford的Visual Geometry Group提出的。AlexNet问世之后&#xff0c;很多学者通过改进AlexNet的网络结构来提高自己的准确率&#xff0c;主要有两个方向&#xff1a;小卷积核和多尺度。而VGG的作者们则选择了另外一个方向&a…

OJ练习第150题——分割回文串

分割回文串 力扣链接&#xff1a;131. 分割回文串 题目 给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是 回文串 。返回 s 所有可能的分割方案。 回文串 是正着读和反着读都一样的字符串。 示例 Java代码 class Solution {List<List…

锐捷无线产品运维(Web登录、 命令行登录)

目录 登录AP产品 Console登录&#xff08;只可以现场登录&#xff09; Web/Telnet/SSH登录&#xff08;可以现场、远程登录&#xff09; 配置AP的管理地址 通过Web界面远程登录 通过Telnet、SSH等命令行的方式登录 登录AC产品 Console登录&#xff08;只可以现场登录&a…

el-button实现按钮,鼠标移入显示,移出隐藏

2023.8.18今天我学习了 如何实现鼠标移入显示按钮&#xff0c;鼠标移出隐藏按钮。 效果如图&#xff1a; 鼠标移入时&#xff1a; 鼠标移出时&#xff1a; mouseover //鼠标移入事件 mouseleave //鼠标移出事件 原本我是想直接在el-button写入这两个方法&#xff0c;但是elem…

【EI会议征稿】第四届经济管理与大数据应用国际学术会议(ICEMBDA 2023)

第四届经济管理与大数据应用国际学术会议(ICEMBDA 2023&#xff09; The 4th International Conference on Economic Management and Big Data Application(ICEMBDA 2023) 第四届经济管理与大数据应用国际学术会议(ICEMBDA 2023)定于2023年10月27-29日在中国天津举行。本次会…

linux 安装pycococreator和pycocotools

目录 1.&#x1f438;安装pycococreatortools&#x1f438; &#x1f353;&#x1f353;安装方式1 &#x1f353;&#x1f353;安装方式2 2.&#x1f438;安装pycocotools&#x1f438; &#x1f353;&#x1f353;安装方式1 &#x1f353;&#x1f353;安装方式2 整理不…

大模型时代,图像描述生成(image caption)怎么走?

背景 Image caption是计算机视觉研究领域中的一个重要分支&#xff0c;其主要目标是根据输入的图像信息&#xff0c;生成相应的文字描述&#xff0c;从而完成对图像内容的准确描述。对于图像描述任务而言&#xff0c;最关键的是能够将图片中的信息以清晰准确的文字形式展现出来…

OPPO A57刷机资源(附简略教程)

https://www.123pan.com/s/hcAqVv-fpHWd.html提取码:buAp 图中画框的为必须下载的&#xff08;xiaomiflash和twrp必须解压后使用&#xff09; ​ 打开xiaomiflash点击driver点击install&#xff08;就是框住的按钮&#xff09;等待安装完成 ​用数据线将oppo a57与电脑连接&a…