vue3中的父子组件通讯详情
目录
- 一、传统的props
- 二、通过modeValue绑定
- 三、事件广播(vue3中$on和$emit已废弃),使用新的插件mitt
一、传统的props 通过在父组件中给子组件传值,然后在子组件中通过props接受数据
//父组件//子组件 export default defineComponent({name: 'ValidateInput',props: {rules: Array as PropType ,modelValue: String}, }
二、通过modeValue绑定
//v-model简写//实际上是 //子组件 export default defineComponent({name: 'ValidateInput',props: {rules: Array as PropType ,modelValue: String},setup (props, context) {const inputRef = reactive({val: props.modelValue || '',isError: false,message: ''})const updateValue = https://www.it610.com/article/(e:KeyboardEvent) => {const targetValue = https://www.it610.com/article/(e.target as HTMLInputElement).valueinputRef.val = targetValuecontext.emit('update:modelValue', targetValue)}return {inputRef,updateValue}}
三、事件广播(vue3中$on和$emit已废弃),使用新的插件mitt Vue3.0版本中把on,off、onece等事件函数移除了,emit()用于父子组件之间的沟通。为了能够使用事务总线,除了emit触发函数还得有on监听函数。官方推荐使用第三方库mitt
首先安装第三方库mitt
npm install --save mitt然后在程序中使用事件总线:
//父组件接受'form-item-created'频道 //子组件发送信息 onMounted(() => {console.log(inputRef.val)emitter.emit('form-item-created', inputRef.val) })
到此这篇关于vu3中的父子组件通讯详情的文章就介绍到这了,更多相关vu3组件通讯内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- Vue3+TS+Vite+NaiveUI搭建一个项目骨架实现
- 710. 黑名单中的随机数
- C#中的|C#中的 Attribute 与 Python/TypeScript 中的装饰器是同个东西吗
- Vue3中的组合式|Vue3中的组合式 API示例详解
- 一文带你从零开始搭建vue3项目
- vue3组件化开发常用API知识点总结
- Vue3中props和defineEmit的区别
- spring中的bean生命周期
- IDEA|将eclipse中的动态项目导入Idea中运行(配置和启动)
- Vue3|Vue3 10多种组件通讯方法