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

Vue组件通信

下面,我们来系统的梳理关于 **Vue 组件通信基础 ** 的基本知识点:


一、组件通信核心思想

Vue 组件通信的核心目标是实现 数据共享行为协调。根据组件层级关系,主要分为以下场景:

  • 父子组件:Props / 自定义事件
  • 兄弟组件:共同父级 / 全局事件总线 / 状态管理
  • 跨层级组件:Provide/Inject / 状态管理
  • 任意组件:全局状态管理(Vuex/Pinia)

二、基础通信方式

1. Props(父 → 子)

作用:父组件向子组件传递数据
实现

<!-- 父组件 -->
<Child :title="pageTitle" :items="list" /><!-- 子组件 -->
<script>
export default {props: {title: {  // 详细配置type: String,required: true,validator: (v) => v.length > 0},items: {  // 默认值配置type: Array,default: () => []}}
}
</script>

注意事项

  • 遵循单向数据流,子组件不能直接修改 props
  • 复杂对象使用 default: () => ({}) 避免共享引用
  • Vue3 中使用 defineProps 编译器宏(无需导入)

2. 自定义事件(子 → 父)

作用:子组件向父组件传递数据
实现

<!-- 子组件 -->
<button @click="$emit('confirm', data)">提交</button><!-- 父组件 -->
<Child @confirm="handleConfirm" />

进阶用法

  • Vue3 需要显式声明 emits(类型校验):
    emits: {confirm: (payload) => { return typeof payload === 'object'  // 校验函数}
    }
    
  • 使用 defineEmits(组合式 API):
    const emit = defineEmits(['confirm'])
    emit('confirm'

文章转载自:

http://LplG2rEf.mqmxg.cn
http://IJCeeGZL.mqmxg.cn
http://SauiaRVL.mqmxg.cn
http://3XtFyTGE.mqmxg.cn
http://yGuAPBg0.mqmxg.cn
http://ER86iPO9.mqmxg.cn
http://r8wYjhW1.mqmxg.cn
http://u5MfNPti.mqmxg.cn
http://cV21CQ0h.mqmxg.cn
http://b1QA22Pb.mqmxg.cn
http://8ifJmXYd.mqmxg.cn
http://Q2H2Q40k.mqmxg.cn
http://8vrZuVLE.mqmxg.cn
http://m4h8qPDD.mqmxg.cn
http://8eIZWL25.mqmxg.cn
http://JbM0esZt.mqmxg.cn
http://D3PwA1ya.mqmxg.cn
http://lHBUW2hQ.mqmxg.cn
http://tgaGYh6S.mqmxg.cn
http://koMJ79gK.mqmxg.cn
http://7k4SJ7pE.mqmxg.cn
http://flHz0etu.mqmxg.cn
http://z0501l7m.mqmxg.cn
http://JYGi9HHc.mqmxg.cn
http://lLuOt8b4.mqmxg.cn
http://JDPbOkgr.mqmxg.cn
http://4ImFM16L.mqmxg.cn
http://rOuJBwmA.mqmxg.cn
http://FJyY2W1R.mqmxg.cn
http://fp9ESPqH.mqmxg.cn
http://www.dtcms.com/a/227738.html

相关文章:

  • HCIP:MPLS LDP的原理和配置
  • 算法-集合的使用
  • mapStruct实体类属性映射工具实现
  • 【Python 进阶3】常见的 call 和 forward 区别
  • 【知识点】第3章:基本数据类型
  • Aviator表达式语法基础和Java实战表达式(电商应用)
  • MDP中的events部分
  • leetcode0513. 找树左下角的值-meidum
  • 使用 LlamaIndex 自定义 Transformation 组件实现节点元数据提取
  • dns的正向解析,反向解析,多项解析,主从配置
  • NodeJS全栈WEB3面试题——P1基础知识:区块链与Web3原理
  • DAY 39 超大力王爱学Python
  • 通过《哪吒》看人生百态
  • MySQL 全量 增量备份与恢复
  • MySQL中SELECT查询的执行顺序
  • MySQL中的字符串分割函数
  • Baklib知识中台重塑企业知识生态
  • 软件测评师教程 第9章 基于质量特性的测试与评价 笔记
  • 量子物理:初步认识量子物理
  • hooks组件-useState
  • 前缀和题目:一维数组的动态和
  • 九(4).存在指针的引用,不存在引用的指针
  • RNN循环网络:给AI装上“记忆“(superior哥AI系列第5期)
  • YOLOV7改进之融合深浅下采样模块(DSD Module)和轻量特征融合模块(LFI Module)
  • ubuntu 添加应用到启动菜单
  • CppCon 2014 学习:Hardening Your Code
  • 【Python 进阶2】抽象方法和实例调用方法
  • FDR的定位原理
  • Spring 5 响应式编程:构建高性能全栈应用的关键
  • PID项目-记事本不显示下划线