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

  • 纳税人识别号是什么哪里可以查到
  • 主营业务怎么计算
  • 来料加工生产成本账务处理
  • 金税盘开具电子发票后如何保存电子版
  • 清算备付金的会计科目
  • 月度资金计划明细表模板
  • 代扣代缴附加税怎么做账
  • 造价服务费收费标准计算器
  • 纳税申报成功
  • 房租费用在本年内可以不摊销吗?
  • 一般纳税人出售固定资产税率
  • 什么情况下需要写答
  • 设备租赁费开票属于哪个大类
  • 印花税计算公式例子
  • 连年亏损的企业因为具有递延税金的优势
  • 三证合一后纳税人识别号和信用代码一样吗
  • 兼职人员工资个税怎么申报
  • 进口税退税
  • 不能抵扣的进项发票怎么做分录
  • 购入的会计分录怎么写
  • win10设置系统启动
  • 如何升级mac系统到10.12
  • 债权人和债务人未经保证人同意变更
  • 增值税红字发票开具
  • 新政府会计制度科目表
  • 财政拨款收入是指行政单位从哪里取得的预算资金
  • 为什么篮牙耳机卡
  • 应付债券的会计处理例题
  • 赠送礼品账务处理
  • 餐饮企业库存盘点表
  • 怎么计算应缴所得税
  • 企业将自有房产怎么处理
  • framework3.5怎么打开
  • 控制层框架
  • 个人纪录简称
  • php面向对象和面向过程
  • 纳税检查调整的销售额确认收入吗
  • 无票收入怎么计算1%税率
  • typescript tsconfig
  • 城投公司政府购买棚改
  • 企业退税要用税吗
  • 织梦可以放两个模板吗
  • 3步搞定纯真ip数量
  • 汇率差的差额计算方式
  • 累计折旧怎么做账
  • 电脑买回来可以直接用吗
  • 增值税专票已经认证了还能退吗
  • 注册资本没有全额投入,公司银行贷款贷款利息怎么入账
  • 如何在科目余额表中查询给另一家公司付了多少钱
  • 收到实收资本的现金流
  • 被法院扣的钱怎么又退回来了
  • 所得税汇算清缴前取得跨年发票
  • 结转固定资产清理科目
  • 购销农副产品需要交税吗
  • 小企业会计准则2023电子版
  • 车间管理人员工资属于间接费用吗
  • SQL Server Alwayson添加监听器失败的解决方法
  • sql切割字段
  • 在WINDOWS系统中用鼠标拖动非最大化窗口的标题栏可以
  • win8任务管理器在哪
  • xp开机延时启动程序
  • 系统图工具
  • solaris 11.4
  • windows10x预览版
  • win10怎么查看windows版本
  • linux的ps命令用法
  • dotnetfx35
  • Win7系统如何查看隐藏文件
  • win7打印机图标显示感叹号
  • android Unable to execute dex问题的解决
  • [置顶]星陨计划
  • 请问在javascript程序中
  • linux如何查看当前shell
  • javascript含义
  • jqueryif判断
  • 百望税控盘电子发票发送邮箱
  • 欠税款要坐牢吗
  • 车辆购置税查询不到应征欠税信息,不能进行扣款操作
  • 汽车装潢业务是干什么的
  • 国家产业政策是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设