位置: 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 自定义类型)

  • 软文写作及网络营销推广重要环节(1.网络软文的写作要求主要有哪些?)

    软文写作及网络营销推广重要环节(1.网络软文的写作要求主要有哪些?)

  • 苹果13有几款机型(苹果13有几款机型和价格128G)

    苹果13有几款机型(苹果13有几款机型和价格128G)

  • 算法和什么的设计是程序设计的主要内容(算法和什么的设计有关)

    算法和什么的设计是程序设计的主要内容(算法和什么的设计有关)

  • 荣耀30s权益版什么意思(荣耀30权益查询在哪个地方)

    荣耀30s权益版什么意思(荣耀30权益查询在哪个地方)

  • QQ邮箱发照片怎么发(qq邮箱发照片怎么重命名)

    QQ邮箱发照片怎么发(qq邮箱发照片怎么重命名)

  • 苹果内外屏必须一起换吗(iphone外屏有必要换原装的吗)

    苹果内外屏必须一起换吗(iphone外屏有必要换原装的吗)

  • 电脑怎么打不出小写字母(电脑怎么打不出拼音)

    电脑怎么打不出小写字母(电脑怎么打不出拼音)

  • 红米k30pro屏幕分辨率(红米k30pro 分屏)

    红米k30pro屏幕分辨率(红米k30pro 分屏)

  • 芒果tv怎么绑定微信(芒果TV怎么绑定电视)

    芒果tv怎么绑定微信(芒果TV怎么绑定电视)

  • 手机时间显示不见了怎么办(手机时间显示不对怎么调)

    手机时间显示不见了怎么办(手机时间显示不对怎么调)

  • 抖音里的表情怎么添加到微信(抖音里的表情怎么看)

    抖音里的表情怎么添加到微信(抖音里的表情怎么看)

  • gps系统由三大部分组成(gps三大组成部分)

    gps系统由三大部分组成(gps三大组成部分)

  • 超6类和7类网线的区别(超6类和7类网线哪个好)

    超6类和7类网线的区别(超6类和7类网线哪个好)

  • word上怎么全部把页眉删了(word怎么把内容全部显示出来)

    word上怎么全部把页眉删了(word怎么把内容全部显示出来)

  • oppoa9x抬头灯怎么设置(oppo手机怎么关闭一抬头就亮呢)

    oppoa9x抬头灯怎么设置(oppo手机怎么关闭一抬头就亮呢)

  • 酷狗购买的专辑可以送给好友吗(酷狗购买的专辑可以退吗)

    酷狗购买的专辑可以送给好友吗(酷狗购买的专辑可以退吗)

  • i58250u什么级别(i34360)

    i58250u什么级别(i34360)

  • 微信怎么设置锁屏手势密码(微信怎么设置锁屏也能收到信息和语音通话)

    微信怎么设置锁屏手势密码(微信怎么设置锁屏也能收到信息和语音通话)

  • 华为手机可以用苹果无线耳机吗(华为手机可以用carplay吗)

    华为手机可以用苹果无线耳机吗(华为手机可以用carplay吗)

  • 抖音不小心点赞又取消对方知道吗(抖音不小心点赞拉黑对方还能看见吗)

    抖音不小心点赞又取消对方知道吗(抖音不小心点赞拉黑对方还能看见吗)

  • Win7系统提示部分便笺的元数据已被损坏?(windows7部分的更新安装失败怎么办?)

    Win7系统提示部分便笺的元数据已被损坏?(windows7部分的更新安装失败怎么办?)

  • 深度学习之concatenate和elementwise操作(二)

    深度学习之concatenate和elementwise操作(二)

  • python字典如何遍历数据(python字典操作 遍历)

    python字典如何遍历数据(python字典操作 遍历)

  • phpcms更新缓存在哪(php 缓存)

    phpcms更新缓存在哪(php 缓存)

  • 怎么下载税控盘开票软件
  • 计提应交个人所得税分录怎么做
  • 自有住房出租
  • 建筑垃圾清运费税率是多少
  • 小规模不动产租赁增值税税率是多少
  • 房产税从租和从价
  • 领发票凭证做什么用
  • 工业企业员工工资占收入比例
  • 单位发放奖金如何做账
  • 暂停使用的固定资产什么时候停止折旧
  • 如何开商业承兑汇票业务
  • 增值税留抵税额抵减欠税
  • 大家怎么看恒大品牌
  • 从联营企业分回利润可以在税前扣除吗
  • 一般纳税人销售自己使用过的物品
  • 固定资产预计净残值最后怎么处理
  • 企业销售食品过期处罚
  • 费用化支出含义
  • 园林公司采购岗位职责
  • 行纪人的权利
  • 附加税享受税收减免的怎么记账
  • kb4586853更新
  • 贷款的钱转账了怎么办
  • PHP:sys_getloadavg()的用法_misc函数
  • 劳务资质办理需要什么条件
  • gcasSWUpdater.exe是什么进程 有什么作用 gcasSWUpdater进程查询
  • 股权转让怎么交印花税2019年最新
  • 企业开办期间的税费
  • 销售自己使用过的固定资产
  • 头歌HTML基础第一关初识HTML
  • 珠宝行业会计核算内容
  • lsattr命令不存在
  • ip a命令详解
  • 季报弥补亏损,财报怎么填
  • 购进的样品怎样做账
  • 补缴以前年度企业所得税如何做账
  • 个税在工资里怎么计提
  • 本期应纳税额是怎么算
  • 一件代发退货如何处理
  • 小企业会计准则和企业会计准则的区别
  • 如何用织梦在本地搭建网站
  • mongodb的redo日志为
  • mysql数据库性能优化方法有哪些
  • 先开销项发票
  • 其他应收款账务核销后放在哪个科目里
  • 房地产企业缴纳契税会计分录
  • 注册资本认缴制度
  • 银行贷款利息支出税前扣除标准
  • 递延所得税转回税率不一致
  • 非公司员工可以发提成吗
  • 变更公司名称后银行如何做
  • MySQL replace into 语句浅析(二)
  • mysql5.5.62安装配置教程
  • sqlserver查询数据库表名
  • win8分盘怎么分
  • find linux命令详解
  • vmware 安装教程
  • win7桌面图标自动排列怎么取消
  • win10原装版
  • linux安装virsh
  • win10 系统账户
  • 怎么禁止电脑qq自动启动
  • win8磁盘占用率100%如何解决
  • unity3d官方教程
  • linux查看so中的函数
  • windows和linux的区别
  • android dsl动态化
  • nodejs调用打印机
  • 智能图片制作
  • shell语言的特点
  • js格式化输出数字
  • Android开发工具
  • unity shader 外发光
  • python写监控脚本
  • js中bom是什么意思
  • ubuntu各种方法卸载软件
  • 湖南省税务局发票辨伪系统
  • 国家税务局总局咨询平台
  • 我们是小规模纳税人,有个人所得税代扣代缴的业务吗
  • 城市土地使用税计税依据
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设