Vue学习之旅:从生命周期到工程化开发与组件实践(生命周期+工程化开发)

《Vue 进阶:生命周期(八钩子)、工程化开发(脚手架+组件化)与清单案例》 生命周期(四阶段,八个钩子函数)生命周期案例,小黑记账本(基本渲染,添加功能,删除功能,饼图渲染echarts)工程化开发 :脚手架使用步骤vue create 项目名,项目运行流程,组件化开发,vue根组件,组件注册使用(局部注册组件,全局注册组件) 阅读详情

Vue学习之旅:从生命周期到工程化开发与组件实践


在Vue的学习进程中,今天接触了Vue的生命周期、工程化开发以及组件化相关的丰富内容。这些知识对于构建高效、可维护的Vue应用至关重要,下面我将详细分享今天的学习收获。

一、Vue生命周期:理解组件的“一生”

Vue生命周期指的是一个Vue实例从创建到销毁的整个过程,这一过程可分为四个阶段:创建、挂载、更新和销毁。

(一)生命周期的四个阶段

  1. 创建阶段:在这个阶段,Vue实例开始创建,会进行响应式数据的初始化等操作。虽然此时数据已准备好,但DOM尚未渲染,无法进行DOM操作。例如在创建一个计数器的实例时:
data: {
   
   
  title: '计数器',
  count: 100
}

在创建阶段,title 和 count 数据被初始化,但我们无法直接操作DOM元素来显示它们。
2. 挂载阶段:Vue会将模板渲染成真实的DOM,此时可以开始操作DOM。如在新闻列表案例中,当模板渲染完成后,我们可以获取新闻列表的DOM元素并进行一些初始化操作 ,mounted 钩子函数会在这个阶段被调用。
3. 更新阶段:当响应式数据发生变化时,Vue会自动更新视图。在这个阶段,数据的修改会触发视图的重新渲染,以保证数据与视图的一致性。
4. 销毁阶段:Vue实例被销毁,此时可以进行一些资源的释放操作,比如清除定时器、延时器等。在 destroyed 钩子函数中执行这些操作,确保应用在销毁时不会留下无效的资源占用。

(二)生命周期钩子函数

Vue在生命周期的各个阶段会自动运行一些函数,称为生命周期钩子函数,这让开发者能够在特定阶段运行自己的代码。

  1. created:在数据准备好后调用,适合发送初始化渲染请求。在小黑记账清单案例中,可在这个钩子函数中请求数据,并将数据更新给 data,实现数据的动态渲染。
created() {
   
   
  // 发送初始化数据请求,假设这里使用axios库
  axios.get('your-api-url').then((response) => {
   
   
    this.data = response.data;
  });
}
  1. mounted:模板渲染完成后调用,可以开始操作DOM。在实现输入框自动聚焦功能时,可以在 mounted 钩子函数中获取输入框的DOM元素并调用聚焦方法:
mounted() {
   
   
  this.$refs.inputElement.focus();
}

这里假设在模板中有一个输入框,并通过 ref 指令为其设置了 inputElement 的引用。

如:

<body>
<div class="container" id="app">
  <div class="search-container">
    <img src="https://www.itheima.com/images/logo.png" alt="">
    <div class="search-box">
      <input type="text" v-model="words" id="inp">
      <button>搜索一下</button>
    </div>
  </div>
</div>

<script src="./vue.js"></script>
<script>
  const app = new Vue({
     
     
    el: '#app',
    data: {
     
     
      words: ''
    },

    mounted() {
     
     
      document.querySelector('#inp').focus()
    },
  })
</script>

</body>

就可以使输入框具有自动聚焦的功能

image-20250114104742061

二、综合案例:小黑记账清单

项目概述

我们要实现的小黑记账清单是一个简单的财务管理应用,用户可以在页面上添加账单,查看账单列表,删除账单,并通过饼图直观地展示消费分布情况。下面我们将详细分析每个功能的实现细节。

项目代码结构

(一)HTML 部分
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <!-- 引入 Bootstrap 的 CSS 样式文件 -->
    <link
      rel="stylesheet"
      href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
    />
    <style>
   .red {
     
     
        color: red!important;
      }
  .search {
     
     
        width: 300px;
        margin: 20px 0;
      }
  .my-form {
     
     
        display: flex;
        margin: 20px 0;
      }
  .my-form input {
     
     
        flex: 1;
        margin-right: 20px;
      }
  .table > :not(:first-child) {
     
     
        border-top: none;
      }
  .contain {
     
     
        display: flex;
        padding: 10px;
      }
  .list-box {
     
     
        flex: 1;
        padding: 0 30px;
      }
  .list-box  a {
     
     
        text-decoration: none;
      }
  .echarts-box {
     
     
        width: 600px;
        height: 400px;
        padding: 30px;
        margin: 0 auto;
        border: 1px solid #ccc;
      }
     tfoot {
     
     
        font-weight: bold;
      }
      @media screen and (max-width: 1000px) {
     
     
    .contain {
     
     
          flex-wrap: wrap;
        }
    .list-box {
     
     
          width: 100%;
        }
    .echarts-box {
     
     
          margin-top: 30px;
        }
      }
    </style>
  </head>
  <body>
    <div id="app">
      <div class=
【前端开发---Vue】史上最详细的Vue入门教程(六) --- 工程化开发和脚手架、组件注册 本篇将重点讲解vue中的【工程化开发和脚手架 】【项目运行流程 】【组件化与组件注册 】等等,并提供具体案例来让小伙伴们加深理解、彻底掌握! 阅读详情

相关推荐

vue2(3)之vue生命周期钩子/工程化开发脚手架/组件化开发/组件的局部注册和全局注册

Vue CLI 是Vue官方提供的一个全局命令工具可以帮助我们快速创建一个开发Vue项目的标准化基础架子。【集成了webpack配置】虽然脚手架中的文件有很多,目前咱们只需认识三个文件即可main.js 入口文件App.vue App根组件index.html 模板文件整个应用最上层的组件,包裹所有普通小组件App组件包含哪三部分?1.全局注册组件应该在哪个文件中注册以及语法是什么?① 局部注册:(1) 创建.vue组件 (单文件组件)

qq_66318904的博客 912

Day-03 Vue(生命周期、生命周期钩子八个函数、工程化开发和脚手架、组件化开发、根组件、局部注册和全局注册的步骤)

(2) 装包: yarn add less less-loader -D 或者npm i less less-loader -D。全局安装(只需安装一次即可) yarn global add @vue/cli 或者 npm i @vue/cli -g。核心包传统开发模式:基于html / css / js 文件,直接引入核心包,开发 Vue。组件化:一个页面可以拆分成一个个组件,每个组件有着自己独立的结构、样式、行为。Vue.component('组件名', 组件对象)

2402_88640716的博客 2126

图像去模糊(二)——Richardson–Lucy算法

Richardson Lucy Algorithm(Richardson-Lucy算法详解及效果实例)

xueruhongchen的博客 3万+

【RK3588 NPU性能调优实战】多线程异步推理YOLOv5,榨干6TOPS算力

本文详细解析了如何在RK3588 NPU上通过多线程异步推理优化YOLOv5目标检测性能,实现6TOPS算力的最大化利用。通过线程池设计、流水线化帧处理及避开内存带宽瓶颈等技巧,将NPU利用率从30%提升至82%,帧率显著提高至61.2FPS。文章还提供了环境配置、代码实现及性能对比数据,助力开发者高效部署AI模型。

weixin_29034963的博客 340

OnePose++: Keypoint-Free One-Shot Object Pose Estimation without CAD Models

算法:首先采用LoFTR的细匹配模块,将粗匹配点周围的小窗口内,通过对比特征找到最相似的位置,细化当前特征点的位置。算法:PnP算法,利用3D点和2D投影点的对应关系,计算相机相对于物体的6D姿态(位置朝向)。算法:使用COLMAP,对2D粗匹配对(不依赖传统关键点匹配)进行特征轨迹计算并生成半稠密点云,每个3D点包含坐标和对应的2D投影点。算法:LoFTR粗匹配模块,将每一个像素点视为伪关键点,生成半稠密的2D匹配对。输入:优化后的3D、当前视图的2D特征点。输出:粗半稠密点云以及物体的特征轨迹。

雨落倾城的博客 884

Win10 桌面回收站右键没有“清空回收站”选项怎么解决

Win10 桌面回收站右键没有“清空回收站” 选项怎么解决? 我之前不知道怎么捣鼓注册表(胡乱删了一些。。。) 导致想清空回收站的时候,右键却没有“清空回收站”这个选项了 以下是解决方法: 1、在桌面上新建一个txt文本文档,将以下代码拷贝进去: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\empty] "Com...

菜鸟的后花园 2万+

从仿真到实机:四足机器人控制算法的全流程验证框架

本文系统阐述了四足机器人从仿真到实机的全流程验证框架。针对仿真与实机环境的巨大差异,文章详细介绍了在MuJoCo等高保真仿真环境中的建模、算法迭代与压力测试方法,并重点解析了通过硬件抽象层和中间件搭建通往实机的关键桥梁。最后,提供了实机部署的安全清单与调试策略,旨在帮助开发者构建可重复、风险可控的算法验证闭环,提升算法在真实世界中的鲁棒性与可靠性。

lilh34434的博客 381

使用 Simulink 进行电力电子系统的大信号模型仿真

电力电子系统(Power Electronics System)包括各种功率转换器(如 DC-DC 转换器、逆变器等)。这些设备中的关键组件(如 MOSFET、IGBT、电容器、电感器等)不仅影响系统的性能,还直接关系到系统的稳定性、效率和可靠性。因此,在设计阶段进行详细的建模和仿真至关重要。大信号模型仿真的目的是通过模拟系统在非线性条件下的真实行为,评估其瞬态响应、稳态性能以及对不同负载和输入电压变化的响应。通过本教程,我们介绍了如何使用 Simulink 进行电力电子系统的大信号模型仿真。背景介绍。

xiaoheshang_123的博客 303

【施磊】C++课程笔记目录

【C++编程】施磊老师C++笔记目录

GeniusAng的博客 4122

9、横向束流光学:原理、模拟与耦合效应

本文系统介绍了横向束流光学中的关键概念,包括色度、色散、发射度、动量压缩因子以及四维耦合效应。通过MATLAB代码详细演示了相关参数的计算与模拟流程,展示了粒子在加速器中的运动特性及其对束流稳定性的影响。同时,讨论了如何通过磁铁配置优化束流光学性能,为加速器的设计与优化提供了理论基础和实践指导。

resnet7explorer的博客 118

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

上一篇: 《前端最新Vue2+Vue3基础入门到实战项目全套教程,自学前端vue就选黑马程序员,一套全通关!》学习笔记总目录
下一篇: Vue进阶之旅:组件通信与高级用法深度剖析(组件通信&进阶用法)
Yardon_Official
博客等级 码龄5年 800粉丝 207原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yardon_Official

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值