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

  • 职场中,高情商是怎样炼成的?(职场中高情商怎么说话)

    职场中,高情商是怎样炼成的?(职场中高情商怎么说话)

  • iphone12怎么开启桌面歌词(iphone12屏幕镜像)

    iphone12怎么开启桌面歌词(iphone12屏幕镜像)

  • 苹果手机无线网怎么共享给别人(苹果手机无线网灰色无法启用)

    苹果手机无线网怎么共享给别人(苹果手机无线网灰色无法启用)

  • 小爱同学音箱默认音乐改酷狗(小爱同学音箱默认音乐改酷我)

    小爱同学音箱默认音乐改酷狗(小爱同学音箱默认音乐改酷我)

  • qq主题字体怎么设置(qq主题字体怎么改)

    qq主题字体怎么设置(qq主题字体怎么改)

  • 苹果11怎么修改微信号(苹果11怎么修改锁屏密码)

    苹果11怎么修改微信号(苹果11怎么修改锁屏密码)

  • qq悄悄话下架了吗(qq悄悄话为什么下架了)

    qq悄悄话下架了吗(qq悄悄话为什么下架了)

  • 苹果11ios13.4建议更新吗(苹果11ios13.6怎么样)

    苹果11ios13.4建议更新吗(苹果11ios13.6怎么样)

  • 手机一天充两次电有损害吗(手机一天充两次电会影响寿命吗)

    手机一天充两次电有损害吗(手机一天充两次电会影响寿命吗)

  • 苹果手表支持安卓系统吗(苹果手表支持安装微信吗)

    苹果手表支持安卓系统吗(苹果手表支持安装微信吗)

  • 单声道音频什么意思(单声道音频什么意思可以降杂音不)

    单声道音频什么意思(单声道音频什么意思可以降杂音不)

  • 苹果原装屏幕哪里可以买到(苹果原装屏幕哪里换)

    苹果原装屏幕哪里可以买到(苹果原装屏幕哪里换)

  • 索尼笔记本无线开关在哪里(索尼笔记本无线网络红叉)

    索尼笔记本无线开关在哪里(索尼笔记本无线网络红叉)

  • 美团永久封禁怎么解除(美团永久封禁怎么解封)

    美团永久封禁怎么解除(美团永久封禁怎么解封)

  • 耳机音质怎么调(耳机音质怎么调节)

    耳机音质怎么调(耳机音质怎么调节)

  • 华为荣耀9x为什么不带耳机(华为荣耀9X为什么前置摄像头随时都是提醒收起摄像头)

    华为荣耀9x为什么不带耳机(华为荣耀9X为什么前置摄像头随时都是提醒收起摄像头)

  • 抖音可以指定好友看吗(抖音可以指定好友吗)

    抖音可以指定好友看吗(抖音可以指定好友吗)

  • 微云超会有什么用(微云超级会员是干什么用的)

    微云超会有什么用(微云超级会员是干什么用的)

  • 手机怎么设置qq密保问题(手机怎么设置qq空间不让看)

    手机怎么设置qq密保问题(手机怎么设置qq空间不让看)

  • 苹果来电铃声小(苹果来电铃声小但在设置中声音很大)

    苹果来电铃声小(苹果来电铃声小但在设置中声音很大)

  • Redmi K20 Pro处理器是什么(红米k20pro什么处理器?)

    Redmi K20 Pro处理器是什么(红米k20pro什么处理器?)

  • 苹果8面部识别怎么设置(苹果8面部识别怎么设置不了)

    苹果8面部识别怎么设置(苹果8面部识别怎么设置不了)

  • vivox27pro上市时间(vivox27pro发布价格)

    vivox27pro上市时间(vivox27pro发布价格)

  • 小米电视如何安装(小米电视如何安装当贝市场)

    小米电视如何安装(小米电视如何安装当贝市场)

  • windows7如何打开运行(Windows7如何打开任务管理器)

    windows7如何打开运行(Windows7如何打开任务管理器)

  • 融资租赁业务如何开具增值税
  • 税收申报减免
  • 残保金滞纳金能抵扣吗
  • 物料损失怎么入账
  • 餐饮发票个人抬头怎么写
  • 金税盘维护费全额抵扣冲减的管理费用怎样结转
  • 建筑业工程项目登记是哪方提交
  • 常见的会计凭证有哪些
  • 工业企业如何进行设备的选购管理
  • 股权投资公司如何找项目合作
  • 流动负债是总负债吗
  • 摊销费用怎么计提
  • 写字楼出租流程
  • 在建工程进项税额
  • 商品已发出未开票未收款怎么做账
  • 合伙企业的投资者李某以企业资金
  • 营改增后房地产企业增值税如何核算
  • 异地工程需要预交税吗
  • 申报税是什么时候申报
  • 失去胜诉权但又有起诉权是什么意思
  • 年末计提银行借款利息
  • 季度不超过30万免税分录
  • 增值税进项税额抵扣期限最新
  • 质量扣款入什么科目
  • 残疾人就业保障金是什么意思啊
  • linux 界面卡死
  • window10的帮助与支持窗口在哪
  • win10如何设置一键还原系统
  • 房产的评估增值属于土地增值税征税范围对吗
  • 一个产品要有什么认证
  • 企业将自有资金无偿提供
  • 营改增建筑业税率是多少
  • php的数组函数
  • php的curl实例
  • php flock函数
  • php提示框
  • 其他综合收益与营业外收入的区别
  • 框架开源
  • ElementUI中<el-form>标签中 ref、:model、:rules 的作用
  • 销售金额环比
  • 银行存款余额调节表是不是原始凭证
  • php cookies
  • 保险公司应收保费汇报范文
  • 职工食堂资金管理办法
  • 营业税借方表示什么
  • 餐厅如何计提固定成本
  • 税费的审计
  • 进项税额转出加计抵减会计分录
  • 当月已入账可是未入账
  • 免税企业免征增值税条件
  • mysql触发器菜鸟教程
  • 税务登记证证书编号是什么
  • 信用减值损失和资产减值损失的区别
  • 归还股东投资款本息怎么做账
  • 临时工工资计入什么费用
  • 安全基金提取会计分录
  • 销售折让如何做分录
  • 支付国外客户佣金违法吗
  • 高速过路费抵扣增值税
  • 销售费用是营业费用吗
  • 实收资本认缴怎么做账,要做账吗
  • 简易征收预缴税款
  • 防伪税控技术维护费
  • sql2005开启xp_cmdshell
  • centos6.5中文
  • 硬盘分几个区最好
  • win7共享在哪
  • ubuntu如何打开
  • win8页面
  • android开启adb
  • javascript的核心
  • windows运行nodejs
  • linux tcp keepalive
  • 了不起的Nodejs 将JavaScript进行到底
  • python简单实现刷新智联简历
  • python中的异常处理有哪些
  • 税务注销核对发票怎么办
  • 20年灵活就业人员社保新标准
  • 湖北税票真伪查询
  • 湖北省税务局网站授权
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设