22-vue 组件通信的五种方式(总结):props、自定义事件、ref\refs 、消息的订阅与发布(pubsub-js库)、slot插槽法

本文详细介绍了Vue中组件间通信的五种方式:props用于父向子传递数据;自定义事件允许子组件向父组件发送信息;ref和refs用于直接引用子组件;pubsub-js库实现跨组件通信;slot插槽法实现内容分发,提升组件复用性。不同场景下,选择合适的通信方式能提高开发效率。
摘要由CSDN通过智能技术生成

第一种 props

  父组件用 :(v-bind的简写)传递,子组件用 props 来接收,并注明类型

代码示例

父组件代码:

<template>
	<TodoHeader :addTodo="addTodo"/>
</template>

子组件代码:

export default{
	props:{
		addTodo:Function
	}
}

 

第二种 自定义事件

  父组件用@(v-on的简写)来绑定事件,子组件(在methods中)用 vue实例方法$emit(“事件名”,参数)来接收

代码示例

父组件代码:

<TodoHeader @addTodo="addTodo"/>  //绑定事件监听

子组件代码:

methods:{
	// 触发事件
	 this.$emit("addTodo",todo);  //将方法addTodo(todo) 的拆分  addTodo为方法名  todo为方法的参数
}

this.$emit(“方法名”,方法中参数)

 

第三种 ref\refs

  父组件用 ref为子组件注册信息 ,并在mounted中写 vue实例方法 refs.re

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值