Vue -- 生命周期 数据共享

news2024/11/20 8:46:59

1 组件的生命周期

1.1 生命周期 & 生命周期函数

生命周期(Life Cycle)是指一个组件从创建 -> 运行 -> 销毁的整个阶段,强调的是一个时间段
生命周期函数:是由 vue 框架提供的内置函数,会伴随着组件的生命周期,自动按次序执行

注意:生命周期强调的是时间段生命周期函数强调的是时间点

1.2 组件生命周期函数的分类

在这里插入图片描述

1.3 生命周期图示

可以参考 vue 官方文档给出的“生命周期图示”,进一步理解组件生命周期执行的过程,生命周期图示:
https://v2.cn.vuejs.org/v2/guide/instance.html

注意

created 生命周期函数,非常常用。经常在它里面,调用 methods 中的方法,请求服务器的数据。并且,把请求到的数据,转存到 data 中,供 template 模板染的时候使用!

2 组件之间的数据共享

2.1 组件之间的关系

在项目开发中,组件之间的最常见的关系分为如下两种:
父子关系
兄弟关系

2.2 父子组件之间的数据共享

父子组件之间的数据共享又分为:
① 父 -> 子共享数据
② 子 -> 父共享数据

2.2.1 父组件向子组件共享数据

父组件向子组件共享数据需要使用自定义属性。示例代码如下:
在这里插入图片描述

2.2.2 子组件向父组件共享数据

子组件向父组件共享数据使用自定义事件。示例代码如下:
在这里插入图片描述

2.3 兄弟组件之间的数据共享

在 vue2.x 中,兄弟组件之间数据共享的方案是 EventBus
在这里插入图片描述

EventBus 的使用步骤

① 创建 eventBus.js 模块,并向外共享一个 Vue 的实例对象
② 在数据发送方,调用 bus.$emit(‘事件名称’, 要发送的数据) 方法触发自定义事件
③ 在数据接收方,调用 bus.$on(‘事件名称’, 事件处理函数) 方法注册一个自定义事件

3 ref引用

3.1 什么是 ref 引用

ref 用来辅助开发者在不依赖于 jQuery 的情况下,获取 DOM 元素或组件的引用。
每个 vue 的组件实例上,都包含一个 $refs 对象,里面存储着对应的 DOM 元素或组件的引用。默认情况下,组件的 $refs 指向一个空对象
在这里插入图片描述

3.2 使用 ref 引用 DOM 元素

如果想要使用 ref 引用页面上的 DOM 元素,则可以按照如下的方式进行操作:
在这里插入图片描述

3.3 使用 ref 引用组件实例

如果想要使用 ref 引用页面上的组件实例,则可以按照如下的方式进行操作:
在这里插入图片描述

3.4 控制文本框和按钮的按需切换

通过布尔值 inputVisible 来控制组件中的文本框与按钮的按需切换。示例代码如下:
在这里插入图片描述

3.5 让文本框自动获得焦点

当文本框展示出来之后,如果希望它立即获得焦点,则可以为其添加 ref 引用,并调用原生 DOM 对象的.focus() 方法即可。示例代码如下:
在这里插入图片描述

3.6 this.$nextTick(cb) 方法

组件的 $nextTick(cb) 方法,会把 cb 回调推迟到下一个 DOM 更新周期之后执行。通俗的理解是:等组件的DOM 更新完成之后,再执行 cb 回调函数。从而能保证 cb 回调函数可以操作到最新的 DOM 元素。
在这里插入图片描述

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

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

相关文章

leetcode极速复习版-第一章数组

目录 数组 数组理论基础 704二分查找 27移除元素 977.有序数组的平方 209.长度最小的子数组 59.螺旋矩阵II 数组部分总结 数组 数组理论基础 数组的元素是不能删的,只能覆盖。 二维数组: 704二分查找 二分法 middle int(left right)的int 直接对着一个…

SSM学习笔记-------SpringMVC(一)

SSM学习笔记-------SpringMVC_day01 SpringMVC_day011、SpringMVC简介1.1 SpringMVC概述 2、SpringMVC入门案例2.1 需求分析2.2 案例制作步骤1:创建Maven项目,并导入对应的jar包步骤2:创建控制器类步骤3:创建配置类步骤4:创建Tomcat的Servlet容器配置类步骤5:配置To…

【2022吴恩达机器学习课程实验翻译笔记】 Python 和 Jupyter Notebook 简介

为了看着比较连贯,我直接翻译了,不放英文原文对照了 选修实验课: Python 和 Jupyter Notebook 简介 欢迎来到第一节选修实验课 选修实验课的目的是: 提供信息,就像这个notebook一样通过实例加深对课程的理解展示在课程中使用的…

【Unity实战】制作类元气骑士、挺进地牢——俯视角射击游戏多种射击效果(二)(附源码)

文章目录 前言一、火箭筒1. 编写火箭筒脚本2. 创建火箭弹和新爆炸特效的预制体3. 编写火箭弹脚本4. 设置好火箭弹和火箭筒的脚本和参数5. 运行效果 二、激光枪1. 编写激光枪脚本2. 先运行游戏,看看效果3. 美化射线4. 完善代码5. 再次运行游戏6. 升级URP项目7. 后处理…

剑指offer13.机器人的运动范围

一开始没看清题目,没看到要一步一步移动,我以为是看所有格子中有几个格子符合条件,就直接遍历所有格子,把每个格子的i,j每个位数上的数相加看看是否小于k,是就给counts加一最后返回couts,我还说…

OSPF小实验

OSPF小实验 要求: 1、地址配置 R1: R2: R3: R4: R5: R6: 2、启用R1-R3的ospf,划分为区域0 R1: R2: R3: 3、R1-R2之间采用ppp的pap单向认证 R1为…

select + option 获取 value 来 innerHTML 插入内容或元素

目录 select optioninnerHTML 在元素中插入内容 select option 可以实现一个下拉选择&#xff0c;选择到那个&#xff0c;就可以获取其value&#xff0c;并且弹窗。 <!DOCTYPE HTML> <html><head><meta charset"utf-8"><style>.st…

【数据结构与算法】查找课后习题

题目 下面一共有4道有关查找的课后习题&#xff0c;全部都是思路题、画图题并不是完整的算法设计题故在此就一起列举出来了~ 1. 已知一个有序表的表长为8N&#xff0c;并且表中没有关键字相同的记录 假设按如下所述方法查找一个关键字等于给定值K的记录&#xff1a;先在第8,1…

Jmeter性能优化方案

最近用jmeter测试并发出现了访问端口异常问题的排查及解决方案做一个归纳&#xff1a; 背景&#xff1a;接口压测异常情况发生率达到了99% 线上情况&#xff1a; 错误情况展示&#xff1a; 原因&#xff1a; Jmeter里的http sample勾选了keep alive&#xff0c;导致会话一直…

2022年真题 - 16 - cockpit

cockpit 题目配置 题目 安装 cockpit 来检测 ispsrv 服务器的状态 配置 安装 cockpit [rootStorageSrv ~]# yum -y install cockpit启动服务 [rootStorageSrv ~]# systemctl enable --now cockpit.socketInsideCli 浏览器访问 http://192.168.100.200:9090

【数据结构与算法】假设图采用邻接表存储,判断一个未知顶点个数和边数的无向连通图G是否是棵树

题目 Qestion: 设计一个算法,判断一个未知顶点个数和边数的无向连通图G是否是棵树,假设图采用邻接表存储。若是树,返回true;否则返回 false。 (用图1和图2验证作业题2算法的正确性) 图一图二的邻接表结构 运行结果以及其解释 由结果可知图一为无向连通图&#xff0c;图二不为…

基于Arcgis 一带一路地图制作 沿途主要城市 路线

数据准备&#xff1a; 全球范围的DEM地形数据 海上丝绸之路节点城市shp陆上丝绸之路节点城市shp全球行政区域shp 全球的shp和主要城市 数据&#xff1a;下载 海上丝绸之路节点城市和陆上丝绸之路节点城市shp&#xff1a;下载 一带一路沿途经济走廊shp&#xff1a;下载 数据…

【Linux】Linux基础命令-cp、ls、mv、chmod、rm、mkdir、cd、find、pwd

1.添加用户 &#xff08;1&#xff09;切换到管理员 sudo su &#xff08;2&#xff09;添加用户 addusr zhangdi &#xff08;3&#xff09;设置密码 &#xff08;4&#xff09;切换到自己的账号 su zhangdi 2.mkdir、cd命令&#xff0c;要求能建立目录、进入与退出目录 &a…

Linux下打包发布QT程序,并运行在其他没有安装QT环境的linux系统上

一、Linux下打包发布步骤如下 编译应用程序环境&#xff1a;ubuntu18.04版本开发环境&#xff1a;Qt5.14.2编译环境&#xff1a;gcc_64要移植的电脑&#xff1a;ubuntu18.04版本&#xff0c;没有开发环境 第一步&#xff1a;打包依赖库 1、创建一个打包目录&#xff0c;把生…

JavaScript Day11 DOM事件机制

事件机制 HTML DOM 允许 JavaScript 对 HTML 事件作出反应。JavaScript 能够在事件发生时执行&#xff0c;比如当用户点击某个 HTML 元素时。 为了在用户点击元素时执行代码&#xff0c;请向 HTML 事件属性添加 JavaScript 代码&#xff1a; <div iddiv1>我是一个div&…

如何在Microsoft Excel中进行不连续区域批量填充

快速填充是 Excel 最令人惊叹的功能之一,它因让一个需要数小时手动执行的乏味任务瞬间自动执行而得名,然而它也有局限性: 结果不是动态的。当你更改其所基于的值时,快速填充值不会更新。你需要再次执行快速填充才能更新值。 快速填充可能并不总是返回结果。该模式对于 Exce…

从零开始理解Linux中断架构(17)--设备中断处理函数

现在达到了最后一步,给中断源安装上设备层级的中断处理函数,这个是每个具体设备驱动需要做的核心工作,每个device probe 时,驱动程序会初始本设备的寄存器和使用request_threaded_irq@manage.c 注册设备自己相关的中断处理函数。 设备中断处理函数的运行位置如下图的红色箭…

如何用wireshark查看snmpv3报文

编辑->首选项 Protocols 选择SNMP协议&#xff0c;点击编辑 填写账号 加密方式 密码 加密方式 密码 加密的数据可以看见了

RabbitMQ系列(12)--Fanout交换机的简介与实现

1、Fanout交换机的介绍 接收所有的消息广播到它知道的队列中&#xff0c;类似于发布订阅模式&#xff0c;只要Fanout禁用RoutingKey,绑定同一交换机的队列都可同时收到消息&#xff1b;若Fanout启动了routingkey&#xff0c;则绑定同一交换机且routingkeyKey相同的队列才能收到…

Flutter生命周期小结

Flutter 中的生命周期&#xff0c;包含以下几个阶段&#xff1a; createState &#xff0c;在 StatefulWidget 中创建 State 的方法&#xff0c;当 StatefulWidget 调用时会触发 createState 。initState &#xff0c;在 State 初始化时调用&#xff0c;因此可以在此期间执行 …