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

  • 非商业性旅游服务
  • 个体户开电子税务局流程
  • 所得税税负率的计算公式中营业收入含不含税
  • 私车公用如何处理
  • 主管盾和制单盾的区别
  • 税款已缴未入库是怎么回事
  • 出口未报关收到外汇怎样处理
  • 公转私可以实时到账吗
  • 固定资产出售账户处理
  • 资产负债表中其他流动资产包括哪些科目
  • 土地增值税清算的条件
  • 财务离开公司需要交接哪些资料?
  • 非独立核算的分公司可以开票吗
  • 应纳税所得额计算公式excel
  • 收到施工方给红包怎样处理
  • 代别的公司付款怎么做账
  • 收到采购商品
  • 企业注销递延所得税资产怎么处理
  • 总账中余额为负怎么写
  • 企业购买银行理财会亏吗
  • 扣供应商的税点应该包括附加税吗
  • 使用本地账户登录什么意思
  • win10两个屏幕两个桌面
  • 期末未抵扣数
  • 移动临时文件
  • 公司与个人的往来款怎么处理
  • 政府补助退回的账务处理
  • 公司给客户报销费用可以吗
  • 结算审计流程图
  • 若依框架好用吗
  • vue移动和pc两套代码
  • django cookie
  • 技术服务费可以计入成本吗
  • php生成颜色面板
  • 详解Yii2 定制表单输入字段的标签和样式
  • 旅客运输服务进项税额的计算公式
  • yolo系列算法比较
  • php使用for循环实现乘法口诀表
  • 账户外币转人民币
  • day02-HTML02
  • 报销具体流程
  • 车船税为什么没有发票
  • 计入固定资产成本的税费有哪些
  • mongodb怎么复制粘贴
  • sql 自定义字段
  • 工业设备种类
  • 短期借款的其它账户
  • 实收资本一定要到账吗
  • 公司为职工承担社保费用
  • 企业所得税资产总额季初季末怎么填
  • 上年多交的增值税怎么调整
  • 房产税和城镇土地使用税
  • 一般纳税人适用什么会计准则
  • 成本法长期股权投资初始成本确认
  • 存货的盘盈
  • 打官司收到对方的款,如何做账
  • 增值税发票丢失可以补开吗
  • 代扣代缴个人所得税分录
  • 哪种飞机票可以抵扣进项税
  • 期末结账后没有余额的科目
  • 应收利息的账务处理方法
  • 收到房租费发票如何做账
  • 客户要扣货款太多怎么处理
  • 汽车修理厂利润
  • 管理费用的明细科目如何设置
  • 安装mysql提示one or more
  • mysql5.7压缩包
  • ms17010补丁怎么安装
  • 多台电脑ip地址设置
  • linux的安装流程和详细内容
  • cocos2dx schedule
  • linux中退出
  • 淘宝店铺首页导航栏css
  • 搭建oj
  • linux中gzip的用法
  • jquery新增属性
  • 电子税务局房产税税源信息采集
  • 陕西省网上税务局怎么报国税(陕西税务局官网申报)
  • 附加税申报表怎么做
  • 地税服务大厅上班时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设