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

如何在vue中实现父子通信

1.需要用到的组件

父组件

<template><div id="app"><BaseCount :count="count" @changeCount="cahngeCount"></BaseCount></div>
</template><script>
import BaseCount from './components/BaseCount.vue';export default {components:{BaseCount},data(){return{count:100}},methods:{cahngeCount(value){this.count = value}}
}
</script><style></style>

子组件

<template><div class="base-count"><button @click="sub">-</button><span>{{ count }}</span><button @click="add">+</button></div>
</template><script>
export default {// 1.自己的数据随便修改  (谁的数据 谁负责)// data () {//   return {//     count: 100,//   }// },// 2.外部传过来的数据 不能随便修改// 第一种方式// props:['count'] // 第二种方式// props:{//   count:Number // },// 第三种方式props:{count:{type:Number, // 类型require:true, // 是否必填default:0, // 默认值validator(vlaue){if(vlaue) // 自定义函数 false 不通过 true 通过return true}}},methods:{sub(){this.$emit('changeCount',this.count - 1)},add(){this.$emit('changeCount',this.count + 1)}}}
</script><style>
.base-count {margin: 20px;
}
</style>

2.父传子,通过props

1.在父组件中注册子组件,并使用

在这里插入图片描述

2. 在子组件中得到父组件的传递值

在这里插入图片描述

3. 在子组件中收集数据并使用

在这里插入图片描述
在这里插入图片描述

4. 注意点

1.收集数据时,v-bind绑定的属性值,应该与props中的键值对中的键相同
2. props中有3种数据收集方式,使用时需注意

2. 子传父,通过this.$emit

1.通过点击事件绑定函数

在这里插入图片描述

2. 对函数进行处理

在这里插入图片描述

3. 对子组件的传递的事件进行监听并用函数处理

在这里插入图片描述
在这里插入图片描述

4. 注意点

1.使用this.$emit时传递的事件名,必须要与在父组件中使用的事件名一致
2. 在在子组件中不能改变父组件传递来的值,如果要修改,请通过父组件修改,使数据单向流动

http://www.lryc.cn/news/503441.html

相关文章:

  • PHP实现华为OBS存储
  • 嵌入式 linux Git常用命令 抽补丁 打补丁
  • Alan Chhabra:MongoDB AI应用程序计划(MAAP) 为客户提供价值
  • 【学习笔记】目前市面中手持激光雷达设备及参数汇总
  • Burp与小程序梦中情缘
  • 数据结构:Win32 API详解
  • 迁移学习中模型训练加速(以mllm模型为例),提速15%以上
  • socket编程UDP-实现停等机制(接收确认、超时重传)
  • 前端面试题目 (Node.JS-Express框架)[二]
  • 防范TCP攻击:策略与实践
  • 3D 生成重建034-NerfDiff借助扩散模型直接生成nerf
  • 分布式 Paxos算法 总结
  • 我的宝贵经验
  • geoserver 瓦片地图,tomcat和nginx实现负载均衡
  • Jenkins 启动 程序 退出后 被杀死问题
  • SEGGER | 基于STM32F405 + Keil - RTT组件01 - 移植SEGGER RTT
  • 分布式开发学习
  • freeswitch(开启支持MCU视频会议,使用mod_av模块)
  • Vue3常见api使用指南(TS版)
  • 分布式 分布式事务 总结
  • onnx文件转pytorch pt模型文件
  • 智能座舱人机交互升级
  • RabbitMQ中点对点(Point-to-Point)通讯方式的Java实现
  • 爬虫实战:获取1688接口数据全攻略
  • 生成树协议STP工作步骤
  • Android14 AOSP支持短按关机
  • C# 和 go 关于can通信得 整理
  • vue常用命令汇总
  • 【C++习题】18.逆波兰表达式求值
  • 本地如何使用 yarn link 调试本地 npm 包