位置: IT常识 - 正文

vu3中的父子组件通讯(vue3父子组件通信)

编辑:rootadmin
一、传统的props 通过在父组件中给子组件传值,然后在子组件中通过props接受数据 1 //父组件 2 <ValidateInput 3 type="text" 4 v-model="emailVal" 5 :rules='emailRules' 6 placeholder='请输入邮箱地址' ...

推荐整理分享vu3中的父子组件通讯(vue3父子组件通信),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:父子组件v-model,vue父子组件v-model,父子组件v-model,vue父子组件是什么,vue父子组件是什么,vue父子组件mounted顺序原因,父子组件v-model,vue3父子组件,内容如对您有帮助,希望把文章链接给更多的朋友!

一、传统的props

通过在父组件中给子组件传值,然后在子组件中通过props接受数据

1 //父组件 2 <ValidateInput 3 type="text" 4 v-model="emailVal" 5 :rules='emailRules' 6 placeholder='请输入邮箱地址' 7 ref="inputRef" 8 > 9 </ValidateInput>10 11 //子组件12 export default defineComponent({13 name: 'ValidateInput',14 props: {15 rules: Array as PropType <RulesProp>,16 modelValue: String17 },18 }

二、通过modeValue绑定

//v-model简写<ValidateInput type="text" v-model="emailVal" placeholder='请输入邮箱地址' ref="inputRef" ></ValidateInput>//实际上是<ValidateInput type="text" :emailVal="emailVal" @update:modelValue="方法" placeholder='请输入邮箱地址' ref="inputRef" ></ValidateInput>//子组件<template> <div class="inputItem"> <input type="text" :value="inputRef.val" @input="updateValue" id="emial" > </div></template>export default defineComponent({ name: 'ValidateInput', props: { rules: Array as PropType <RulesProp>, modelValue: String }, setup (props, context) { const inputRef = reactive({ val: props.modelValue || '', isError: false, message: '' }) const updateValue = (e:KeyboardEvent) => { const targetValue = (e.target as HTMLInputElement).value inputRef.val = targetValue context.emit('update:modelValue', targetValue) } return { inputRef, updateValue } }vu3中的父子组件通讯(vue3父子组件通信)

三、事件广播(vue3中$on和$emit已废弃),使用新的插件mitt

Vue3.0版本中把on,off、onece等事件函数移除了,emit()用于父子组件之间的沟通。

为了能够使用事务总线,除了emit触发函数还得有on监听函数。官方推荐使用第三方库mitt

因此事务总线的使用应该为

首先安装第三方库mitt

npm install --save mitt

然后在程序中使用事件总线:

1 //父组件接受'form-item-created'频道 2 <script lang="ts"> 3 import { defineComponent, onUnmounted } from 'vue' 4 import mitt from 'mitt' 5 export const emitter = mitt() 6 export default defineComponent({ 7 name: 'ValidateForm', 8 setup () { 9 const callback = (test: string) => {10 console.log(test)11 }12 emitter.on('form-item-created', callback)13 onUnmounted(() => {14 emitter.off('form-item-created', callback)15 })16 return {}17 }18 })19 </script>20 21 //子组件发送信息22 onMounted(() => {23 console.log(inputRef.val)24 emitter.emit('form-item-created', inputRef.val)25 })
本文链接地址:https://www.jiuchutong.com/zhishi/310310.html 转载请保留说明!

上一篇:Java集合框架之List(java集合框架主要有)

下一篇:js如何自定义构造函数创建对象(js 自定义类型)

  • miui12.5增强版电池健康为什么不显示(miui12.5增强版省电吗)

    miui12.5增强版电池健康为什么不显示(miui12.5增强版省电吗)

  • 电脑上微信聊天记录怎么删除(电脑上微信聊天记录怎么删除干净)

    电脑上微信聊天记录怎么删除(电脑上微信聊天记录怎么删除干净)

  • 苹果11pro怎么设置时间(苹果11pro怎么设置动态壁纸)

    苹果11pro怎么设置时间(苹果11pro怎么设置动态壁纸)

  • 电脑内存不足可以加硬盘不(电脑内存不足可以用u盘代替吗)

    电脑内存不足可以加硬盘不(电脑内存不足可以用u盘代替吗)

  • 手机声音小了怎么修复(手机声音小了怎么恢复vivo)

    手机声音小了怎么修复(手机声音小了怎么恢复vivo)

  • 虚拟机吃内存还是cpu(虚拟机内存会影响主机吗)

    虚拟机吃内存还是cpu(虚拟机内存会影响主机吗)

  • 微信怎么停用二维码(怎样暂停使用微信)

    微信怎么停用二维码(怎样暂停使用微信)

  • 抖音怎么拍不了视频了(抖音怎么拍不了同款)

    抖音怎么拍不了视频了(抖音怎么拍不了同款)

  • 微信怎么改深色模式(微信怎么改深色模式oppo)

    微信怎么改深色模式(微信怎么改深色模式oppo)

  • 怎样解决手机视频加载失败(手机视频屏幕不清楚怎么办)

    怎样解决手机视频加载失败(手机视频屏幕不清楚怎么办)

  • 淘宝店铺等级五角星代表什么(淘宝店铺等级五角星 跟皇冠)

    淘宝店铺等级五角星代表什么(淘宝店铺等级五角星 跟皇冠)

  • 手机漏液是内屏还是外屏的原因(手机漏液是内屏损坏还是外屏损坏)

    手机漏液是内屏还是外屏的原因(手机漏液是内屏损坏还是外屏损坏)

  • 超级充电模式没了(超级充电变成正在充电)

    超级充电模式没了(超级充电变成正在充电)

  • 淘宝会员名能查到什么(淘宝会员名查询手机号码)

    淘宝会员名能查到什么(淘宝会员名查询手机号码)

  • 小米手机桌面图标恢复(小米手机桌面图标大小设置)

    小米手机桌面图标恢复(小米手机桌面图标大小设置)

  • 腾讯视频怎样下载到本地(腾讯视频怎样下载电影)

    腾讯视频怎样下载到本地(腾讯视频怎样下载电影)

  • 电脑换主板要重装系统吗(电脑换主板要重新激活吗)

    电脑换主板要重装系统吗(电脑换主板要重新激活吗)

  • 拼多多保留5个团啥意思(拼多多保留5个团怎么操作)

    拼多多保留5个团啥意思(拼多多保留5个团怎么操作)

  • 刚开的淘宝店怎么发布宝贝(刚开的淘宝店怎么做起来)

    刚开的淘宝店怎么发布宝贝(刚开的淘宝店怎么做起来)

  • 小程序抽奖可以内定吗(小程序抽奖可以设置谁中奖吗)

    小程序抽奖可以内定吗(小程序抽奖可以设置谁中奖吗)

  • 不开钉钉手机会被定位吗(钉钉不插手机卡可以用吗?)

    不开钉钉手机会被定位吗(钉钉不插手机卡可以用吗?)

  • vivox27有面容解锁吗(vivox27手机有没有面部解锁功能)

    vivox27有面容解锁吗(vivox27手机有没有面部解锁功能)

  • oppo手机右上角的hd怎样关闭(oppo手机右上角有个锁怎么去掉)

    oppo手机右上角的hd怎样关闭(oppo手机右上角有个锁怎么去掉)

  • 打印机乱码不停打印(打印机乱码不停打印怎么解决视频)

    打印机乱码不停打印(打印机乱码不停打印怎么解决视频)

  • js实现继承属性和方法(js实现继承属性功能)

    js实现继承属性和方法(js实现继承属性功能)

  • phpcms更换域名后的处理步骤(网站更换域名后无法访问)

    phpcms更换域名后的处理步骤(网站更换域名后无法访问)

  • 一般纳税人销售货物税率
  • 公司之间借款如何做账
  • 幼儿园财务科目设置
  • 公对公退款要交税吗
  • 开票资料需要哪些内容
  • 项目部电缆属于固定资产吗
  • 一次性就业补助金的领取条件
  • 会计账簿 扉页
  • 人工成本比例
  • 想开饮品店
  • 公司筹建期间
  • 应收账款管理制度设计毕业设计
  • 企业月奖金发放制度
  • 电视台广告费可以抵扣吗
  • 税务系统勾了为什么还能认证?
  • 开具增值税专用发票怎么开
  • 小规模纳税人提供设计服务税率
  • 地下建筑如何防潮
  • 企业的筹建期间
  • 收到管理费用的会计科目
  • 电子发票记账联怎么入账
  • 企业报税的详细流程期限为
  • 长期未收回的应收账款企业所得税
  • 现在还有短期投资这个科目吗
  • 充积分送手机
  • 对公帐户定期存款利率
  • php aop
  • 2017年8月21日是什么日子
  • 法罗群岛知乎
  • 阿德莱德 景点
  • php的api接口
  • 个人独资企业和合伙企业的区别
  • 个人股权转让应税凭证名称
  • hypergraph learning
  • php 解压缩
  • 卷积神经网络CNN实验报告
  • 2022前端面试题及答案
  • 利用html css javascript做一个网页
  • javascriptjs
  • 无形资产转让手续怎么办
  • 房产原值是否含增值税
  • 预收账款是否需入账
  • 个体工商户开税户
  • php策略模式和工厂模式的区别
  • 挂靠的公司替我们交的税款如何记账?
  • mongodb 分组计数
  • 出口业务的会计处理
  • 侵权赔偿补偿金如何计算
  • 公司pos机使用规范
  • mysql主从配置详解
  • 出口退税企业更正申报增值税
  • 以物抵债在法律上叫什么
  • 材料采购合同要点
  • 现金日记账年结需要另起一页吗
  • 其他业务收入如何填写增值税申报表
  • 卖掉公司旧办公用品怎么入账
  • 通过SQL Server的位运算功能巧妙解决多选查询方法
  • mac安装mysql
  • 新买的电脑如何验机
  • Windows Server 2008中审核和符合性
  • ubuntu启动菜单 哪个键
  • macbookair如何恢复系统
  • windows出现问题怎么处理
  • linux shell 函数参数
  • Win10 Mobile Build 10586.xx将持续更新 WP8.1用户可直升最新版
  • win个性化设置没反应
  • linux操作系统怎么装
  • 教你怎样用竹子搭棚子
  • unity gui教程
  • node.js用途
  • javascript教程doc
  • 超精准的电压基准芯片
  • 使用jquery实现的项目
  • 个人出租住房增值税免税政策
  • 建筑业小规模纳税人工程结算增值税
  • 企业分期收款销售商品,即商品已经交付
  • 如何打印个人所得税证明
  • 江苏印花税申报操作流程
  • 地税可以跨区交吗
  • 税务筹划前景
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设