当前位置: 首页 > news >正文

Vue3组件通信

Vue3组件通信和Vue2的区别:

1、移出事件总线,使用mitt代替

2、vuex换成了pinia

3、.sync优化到了v-model里面了

4、把$listeners所有的东西,合并到$attrs中了

5、$children被砍掉了

props

若 父传子:属性值是非函数。若 子传父:属性值是函数

父传递给子,是以属性的方式传递,子组件通过defineProps去接收

子传递给父,父组件需要创建一个函数去接取,并通过属性传给子组件,子组件通过defineProps去调用那个方法

//父组件
<template><div class="father"><h3>父组件,</h3><h4>我的车:{{ car }}</h4><h4>儿子给的玩具:{{ toy }}</h4><Child :car="car" :getToy="getToy"/></div>
</template>
<script setup lang="ts" name="Father">import Child from './Child.vue'import { ref } from "vue";// 数据const car = ref('奔驰')const toy = ref()// 方法function getToy(value:string){toy.value = value}
</script>//子组件
<template><div class="child"><h3>子组件</h3><h4>我的玩具:{{ toy }}</h4><h4>父给我的车:{{ car }}</h4><button @click="getToy(toy)">玩具给父亲</button></div>
</template>
<script setup lang="ts" name="Child">import { ref } from "vue";const toy = ref('奥特曼')defineProps(['car','getToy'])
</script>

自定义事件

自定义事件常用于:子 => 父

注意区分好:原生事件、自定义事件

原生事件:

  • 事件名是特定的(clickmosueenter等等)
  • 事件对象$event: 是包含事件相关信息的对象(pageXpageYtargetkeyCode

自定义事件

  • 事件名是任意名称
  • 事件对象$event: 是调用emit时所提供的数据,可以是任意类型!!!
//父组件
<template><div class="father"><h3>父组件,</h3><h4>我的车:{{ car }}</h4><h4>儿子给的玩具:{{ toy }}</h4><Child @send-toy="saveToy"/></div>
</template>
<script setup lang="ts" name="Father">import Child from './Child.vue'import { ref } from "vue";// 数据const car = ref('奔驰')const toy = ref('')// 方法function saveToy(value:string){toy.value = value}
</script>//子组件
<template><div class="child"><h3>子组件</h3><h4>我的玩具:{{ toy }}</h4><button @click="emit('send-toy',toy)">玩具给父亲</button></div>
</template>
<script setup lang="ts" name="Child">import { ref } from "vue";const toy = ref('奥特曼')const emit = definEmits(['send-toy'])
</script>
http://www.dtcms.com/a/541605.html

相关文章:

  • 11-js数组(ESMAScript)
  • 郑州营销型网站建设哪家好网站中的ppt链接怎么做的
  • html + css +js
  • 微算法科技(NASDAQ MLGO)研发基于AI的动态权重学习模型,开启区块链账户关联分析智能新时代
  • K8s基础总结
  • 【系统分析师】预测试卷一:案例分析题目及答案详解
  • HTML 音频/视频
  • 印度做网站设计wordpress 标签设置
  • [Linux 内核]翻译kernel-4.4.94/Documentation/sysctl/vm.txt
  • 做代售机票网站程序寿光网络推广公司
  • 基于springboot同城上门喂遛宠物系统的设计与实现
  • MATLAB相机标定入门:Camera Calibration工具包详解
  • 【文献阅读】将 CNN 推广到图数据
  • 向国外支付网站开发费线上营销图片
  • 电商或游戏平台基于大数据引入AI智能体
  • 网站建设注意哪些西安网站建设制作公司
  • Kotlin 协程实践:深入理解 SupervisorJob、CoroutineScope、Dispatcher 与取消机制
  • 机械革命 GM7ZG7m 蛟龙7 5900HX 黑苹果 EFI
  • 怎样自己建设网站企查查企业信息查询系统官网
  • 介绍Spring Cloud Gateway
  • 成都自适应网站建设域名主机网站导航
  • 【数据结构】队列(Queue)详解——数据结构的“先进先出”
  • 【操作系统】计算机系统概述
  • 为什么Android游戏画面在30帧运行时有抖动现象
  • 做的好的手机网站建设银行官方网站认证
  • 云南建设厅网站备案厂家域名审核怎么做返利网站
  • docker compose配置容器只允许指定的外部IP访问
  • 【postgresql在sql的基础上将frvcd按照逗号分割,核查两个表中frvcd数量是否相同】
  • 考研政治(马原)
  • 电商网站开发工作室商务网站模板