生命周期、数据共享、ref引用、购物车案例

news2024/11/24 18:40:47

生命周期&数据共享

  • 1.组件的生命周期
  • 2.组件之间的数据共享
  • 3.ref 引用
  • 4.购物车案例

1.组件的生命周期

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

2.组件之间的数据共享

  1. 组件之间的关系
    在项目开发中,组件之间的最常见的关系分为如下两种:
    ① 父子关系
    ② 兄弟关系
  2. 父子组件之间的数据共享
    父子组件之间的数据共享又分为:
    ① 父 -> 子共享数据
    ② 子 -> 父共享数

2.1 父组件给子组件共享数据需要使用自定义属性
在这里插入图片描述

2.2 子组件给父组件共享数据使用自定义事件
在这里插入图片描述

  1. 兄弟组件之间数据共享EventBus

在这里插入图片描述

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

发送方:
在这里插入图片描述
接收方:
在这里插入图片描述

3.ref 引用

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

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

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

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

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

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

4.购物车案例

axios的使用
1.安装并在App中导入axios
2.在methods方法中定义initCartList函数请求列表数据
3.在create生命周期函数中,调用步骤2封装initCartList函数

在这里插入图片描述

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

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

相关文章

chatGPT提问,BGP内容

ChatGPT提问:提问框架 背景角色任务要求 动态路由:内部网关协议:如RIP ISIS OSPF 在同一个公司内部运行的路由协议 外部网关协议:如 BGP 在不同公司之间运行的路由协议 AS:自治系统 每个自治系统都有唯一的…

动态组件、插槽、自定义指令、Eslint和prettierrc配置、axios全局挂载

动态组件、插槽、自定义指令、Eslint和prettierrc配置、axios全局挂载 动态组件插槽体验插槽的基础用法作用域插槽 自定义指令Eslint和prettierrc配置prettierrc axios全局挂载 动态组件 动态组件指的是动态切换组件的显示与隐藏。 如何实现动态组件渲染 vue 提供了一个内置的…

Visual Studio 2022 CMake+MinGW+GDB 调试目标程序

前段时间笔者在使用MinGW编译了QtCreator后,想要进行调试。最开始使用VSCode进行调试,可是可以调试,但是发现调试过程中反应比较慢,毕竟QtCreator整个源代码工程还是非常大的,VSCode是由JS语言编写,执行效率…

Golang每日一练(leetDay0065) 位1的个数、词频统计

目录 191. 位1的个数 Nnumber of 1-bits 🌟 192. 统计词频 Word Frequency 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 191. 位1的个数 Nnum…

Java面试知识点(全)-JVM面试知识点一

[Java面试知识点(全) 导航: https://nanxiang.blog.csdn.net/article/details/130640392 注:随时更新 SQL优化 r m y s q l q u e r y ( " S E L E C T u s e r n a m e F R O M u s e r W H E R E s i g n u p d a t e > ′ r mysql_query(…

RK3568平台开发系列讲解(网络篇)图解linux ping

🚀返回专栏总目录 文章目录 一、SOCK_RAW套接字实现的ping二、ping命令发送端内核实现三、ping命令接收端内核实现沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 ping 命令采用 ICMP 协议,是一个用户空间程序,它打开一个 SOCK_RAW 套接字或者ICMP套接字发送ICMP_…

Chrome启动参数常用参数

Chrome常用参数请参考下表。 序号 参数 说明 1 --allow-outdated-plugins 不停用过期的插件。 2 --allow-running-insecure-content 默认情况下,https 页面不允许从 http 链接引用 javascript/css/plug-ins。添加这一参数会放行这些内容。 3 …

Python爬虫入门教程,BeautifulSoup基本使用及实践

Python爬虫入门教程,BeautifulSoup基本使用及实践 爬虫,是学习Python的一个有用的分支,互联网时代,信息浩瀚如海,如果能够便捷的获取有用的信息,我们便有可能领先一步,而爬虫正是这样的一个工具…

大数据之PySpark的RDD创建和分区

文章目录 前言一、RDD创建二、RDD分区数总结 前言 #博学谷IT学习技术支持# 上篇文章对PySpark的RDD做了简单的介绍,以及总结了RDD的特性,该篇文章主要介绍RDD的创建方式,PySpark的RDD创建方式主要有两种,一种是在程序中直接创建&…

11 dubbo源码学习_dubbo协议通信

dubbo在通信上也支持非常多的网络协议,而dubbo协议属于dubbo框架自研,整体协议也比较有代表性,采用定长协议头+变长协议休的形式; 1. dubbo协议格式 Magic - Magic High & Magic Low (16 bits)标识协议版本号,Dubbo 协议:0xdabbReq/Res (1 bit)标识是请求或响应。请…

「OceanBase 4.1 体验」|OCP Express

文章目录 一、简介二、特性介绍2.1 数据库管理2.2 数据库可观测性 一、简介 OCP Express 是一个基于 Web 的 OceanBase 4.x 轻量化管理工具,作为 OceanBase 数据库的工具组件,它集成在 OceanBase 数据库集群中,支持数据库集群关键性能指标查看…

MyBatis第一章 搭建MyBatis的运行环境

这里写自定义目录标题 一 创建Maven工程1 打包方式设置为jar2 引入依赖进去 二 创建MyBatis的核心配置文件1 配置核心文件2 创建mapper接口3 创建mabatis的映射文件4 测试文件的写法5 需要代码可以访问gitee仓库去看看6 log4j的日志功能 三 先改方法,后改映射文件1 …

Qt开发笔记(Qt5.9.9下载安装环境搭建win10)

#1 Qt下载网站(国内、国外镜像) #2 Qt5.9.9安装选项 #3 配置系统环境变量 #4 创建测试项目 #1 Qt下载网站(国内、国外镜像) 官方下载地址(慢):http://download.qt.io/ 国内镜像网站 这里给大家…

私有jar包发布到maven中央仓库

一、注册Jira Sonatype JIRAhttps://issues.sonatype.org/secure/Dashboard.jspa 二、新建issue 提交后,等待5-10分钟,会收到中央机器人的评论,如下: 在这里,我没有自己的域名,此时: 1、机器人…

网络编程 lesson2 TCP基础编程

目录 sockt介绍 socket类型 socket所在位置 端口号(重点) 端口号作用 端口号范围 字节序(面试常见) 大端序 小端序 验证当前主机字节序 字节序转换和IP转换函数接口(常用) TCP编程 函数接口 …

[230517] TPO71 | 2022年托福阅读真题第5/36篇 | Minoan Palaces | 14:51~16:00+22:00~23:20

7102 Minoan Palaces 目录 7102 Minoan Palaces 正文 题目 Paragraph 1 问题 1 Paragraph 2 问题 2 Paragraph 3 问题 3 4 Paragraph 4 问题 5 6 Paragraph 5 问题 7 8 Paragraph 2-问题9 全篇-问题10 正确率:7/10 正文 Paragraph 1 The…

JavaScript实现输入指定行数,输出三角形的代码

以下为实现输入指定行数,输出三角形的程序代码和运行截图 目录 前言 一、实现输入指定行数,输出三角形 1.1 运行流程及思想 1.2 代码段 1.3 JavaScript语句代码 1.4 运行截图 前言 1.若有选择,您可以在目录里进行快速查找;…

HCIP周日ISIS

ISIS:中间系统到中间系统 ES:终端系统 ES-IS:终端系统到中间系统 ISIS是一种链路状态协议,使用SPF算法 早期的ISIS是基于CLNP(无连接网络协议)而开发的,为了继续追逐TCP/IP的发展&#xff0…

关于getchar的用法及实例解析

一、getchar()函数是什么? getchar()函数是获取一个字符。说到这里就有人问了,为什么他的返回类型是int? 因为实际上EOFend of file(-1),EOF实际上就等于-1。当你返回失败的时候返回的是-1,所以…

计算机网络(四上)——网络层!!!重中之重

先来个整章的大框架,看起来也没有多少东西(bushi)。 这篇文章,就先写 一、网络层的功能 互联网在网络层的设计思路是,向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务 1.1.异构网络互联 1.网络互联是…