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

  • 未实际处置资产损失税前扣除金额的分录?
  • 工程款转入冻结账户能拿回
  • 自然人税收管理系统扣缴客户端
  • 商贸公司可以做美容行业吗?
  • 合同印花税用不用计提
  • 小规模纳税人标准2019
  • 外购动力的分录
  • 承包费会计处理
  • 股权收购溢价的原因
  • 出差过程中招待员工
  • 公司账上的应收账款余额变为负数涉及什么税?
  • 怎么分清楚待认识的人
  • 国税退税需要多长时间
  • 企业试生产期间发生的费用怎么入账
  • 营业外收入征企业所得税吗
  • 客户忠诚度的表现行为有哪些
  • 简述增值税纳税义务发生时间
  • 机动车辆发票如何认证?
  • 非专利技术转让合同印花税
  • 企业销售收入含不含税
  • 净利润等于未分配利润和盈余公积吗
  • 用人单位逾期未缴纳社会保险费可能会使用的文书
  • hp tpn-c120笔记本
  • 棚户区改造贷款管理办法
  • 销项税多了冲销部分的怎么做账
  • 大沙丘国家公园在哪里
  • linux不允许root登录
  • 尿急尿频尿不尽吃什么药效果好
  • 购买增值税税控系统专用设备账务处理
  • 律师费怎样入账
  • 有形动产租赁税收优惠
  • 马尼亚岛的降水特点
  • 命令行基础
  • 代销商品受托方怎么做账
  • 公司有个税怎么交
  • PHP使用http_build_query()构造URL字符串的方法
  • 单位发放给职工的养老金
  • 携程首页
  • 小迪安全2021
  • php中定义函数
  • 电子承兑操作
  • 外贸退税是算利率吗
  • 织梦自定义表单diy.php更改名字
  • mysql5.7压缩包安装配置教程
  • 企业所得税费用怎么算2023年
  • 长期股权投资为什么不是金融资产
  • mysql数据库命名 可以用-吗
  • 期权权利金的计算公式
  • 先买再卖影响可取现金吗
  • 借款利息税前扣除应当注意的三个问题
  • 工会应付下级经费
  • 第三方平台佣金账务处理
  • 商业会计主要做什么
  • 股权转让如何办理
  • 纳税人将外购的货物用于非应税项目
  • 成本核算方法有哪几种
  • 一正一负发票要做凭证吗
  • 固定资产清理的借贷方向
  • 新建公司需要什么
  • win7桌面卡死无响应
  • windows10的设置在哪里
  • windows8触摸屏手势设置
  • ie11forwindows10
  • remind32.exe - remind32是什么进程 有什么用
  • win8系统怎样
  • edge新版浏览器
  • win8补丁官网
  • linux查找文件语句
  • unity3d协程的作用
  • unity3d特效教程
  • jqueryon事件
  • 利用python读取文件
  • diskpart ntfs
  • python抓取软件界面数据
  • google gsoc
  • 安卓打造世界中文全dlc
  • python字号
  • 全面解析朝鲜战争
  • js调用声音
  • 重庆沙坪坝区沙磁巷幼儿园
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设