当前位置: 首页 > news >正文

vue组件间通信

文章目录

  • 1.什么是组件通信
    • 1.1 组件关系分类:
  • 2.组件通信解决方案
    • 2.2 vue2
      • 2.2.1 父子通信
      • 2.2.2 prop详解
        • 2.2.2.1 什么是 prop
        • 2.2.2.2 props 校验
    • 2.3 vue3
      • 2.3.1 defineProps(父传子、子传父)
        • 2.3.1.1 父传子(属性值是非函数)
        • 2.3.1.2 子传父(属性值是函数)
      • 2.3.2 自定义事件 defineEmits(子传父)

1.什么是组件通信

(1)组件的数据是独立的,无法直接访问其他组件的数据。
(2)组件通信, 就是指 组件与组件 之间的数据传递

1.1 组件关系分类:

(1)父子关系
(2)非父子关系

在这里插入图片描述

2.组件通信解决方案

2.2 vue2

2.2.1 父子通信

(1)父组件通过 props 将数据传递给子组件
在这里插入图片描述
(2)子组件利用 $emit 通知父组件修改更新
在这里插入图片描述

2.2.2 prop详解

2.2.2.1 什么是 prop

(1)Prop 定义:组件上 注册的一些 自定义属性
(2)Prop 作用:向子组件传递数据
(3)特点:
⚫ 可以 传递 任意数量 的prop
⚫ 可以 传递 任意类型 的prop

在这里插入图片描述

2.2.2.2 props 校验

(1)避免组件的 prop 乱传,可以为组件的 prop 指定验证要求,不符合要求,控制台就会有错误提示 → 帮助开发者,快速发现错误
(2)语法:
① 类型校验
② 非空校验
③ 默认值
④ 自定义校验
(3)示例:
在这里插入图片描述
(3)prop和data的异同点
①共同点:都可以给组件提供数据。
②区别:
⚫ data 的数据是自己的 → 随便改
⚫ prop 的数据是外部的 → 不能直接改,要遵循 单向数据流
③单向数据流:父级 prop 的数据更新,会向下流动,影响子组件。这个数据流动是单向的。

在这里插入图片描述

2.3 vue3

2.3.1 defineProps(父传子、子传父)

defineProps 原理:就是编译阶段的一个标识,实际编译器解析时,遇到后会进行编译转换

2.3.1.1 父传子(属性值是非函数)

(1)父组件中给子组件绑定属性
(2)子组件内部通过defineProps选项接收

在这里插入图片描述

2.3.1.2 子传父(属性值是函数)

在这里插入图片描述

2.3.2 自定义事件 defineEmits(子传父)

在这里插入图片描述


http://www.mrgr.cn/news/22117.html

相关文章:

  • 基于SpringBoot框架和Flask的图片差异检测与展示系统
  • js事件冒泡和事件委托
  • C++异常
  • Java高级编程—网络编程(完整详解,包括UDP通信方式、TCP通信方式、TCP三次握手、TCP四次挥手,附有代码+案列)
  • ④JdbcTemplate与声明式事务
  • MATLAB绘图基础6:MATLAB绘图基础
  • 仕考网:2025年公务员国考备考技巧
  • FastAPI数据模型:使用FormData extra参数防止数据污染
  • Python——将原来的gt.txt文件存为gt_原始.txt,修改后的文件作为 gt.txt
  • 基于Java+SpringBoot+Vue+MySQL的西安旅游管理系统网站
  • 828华为云征文|华为云Flexus云服务器X实例之openEuler系统下部署GitLab服务器
  • 开题报告中的研究方法设计:AI能帮你做什么?
  • 【Linux】进程控制(一)
  • 攻防世界--->你好,CTF
  • 使用协程实现高并发的I/O处理
  • 怎么仿同款小程序的开发制作方法介绍
  • RedNet 复现记录
  • 【进程间通信】System V--消息队列和信号量
  • 还不会剪音乐?试试这四款在线音频剪辑
  • JVM - GC垃圾回收