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

[Vue]跨组件传值

父子组件传值

        详情可以看文章

跨组件传值

        Vue 的核⼼是单向数据流。所以在父子组件间传值的时候,数据通常是通过属性从⽗组件向⼦组件,⽽⼦组件通过事件将数据传递回⽗组件。多层嵌套场景⼀般使⽤链式传递的⽅式实现provide+inject的⽅式适⽤于需要跨层级共享数据的场景,但需要注意不要滥⽤。如果组件层级较深,且需要在多个组件之间共享状态,可以使⽤ Vuex 或 Pinia 等状态管理⼯具。

        多层嵌套传值:

        现在有三个组件,也就是爷爷、爸爸、儿子三个组件。

1.在父组件中使用provide,传递需要传递的数据。格式:provide('该数据的唯一标识名',数据)

2.在子组件中使用inject,接收传递来的数据。格式:const obj = inject('该数据的唯一标识名')

<!--App.vue-->
<script setup>
import {provide, ref} from "vue";import mymiddle from './middle.vue'const myobj = ref({name: "John",email: "john@gmail.com"})provide("objId", myobj)</script>
<template><p>我是爷爷组件</p><mymiddle></mymiddle>
</template><style scoped>
</style><!--middle.vue-->
<script setup>
import foot from './foot.vue'
</script><template><p>我是爸爸组件</p><foot></foot>
</template><!--foot.vue-->
<script setup>
import {inject, ref} from "vue";const getobj = inject("objId")</script><template><p>我是儿子组件</p><p>接收的数据:{{getobj}}</p>
</template>

        注意,这个模式只能用在多层嵌套中,由祖辈往下传,不能下往上传。同样的,同级之间也不能直接传。

跨组件传函数

        传递操作与传递值一样。有一点需要注意:函数传递给后辈组件之后,在后辈组件中触发,执行的对象不会变。例如该函数是给原组件中的num的值+1,那么传递给后辈组件并在其中触发,修改的还是原组件中的num的值。

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

相关文章:

  • 每日Prompt:实物与手绘涂鸦创意广告
  • 学习笔记:黑马程序员JavaWeb开发教程(2025.4.8)
  • vue3 在线播放语音 mp3
  • Ubuntu部署私有Gitlab
  • genicamtl_lmi_gocator_objectmodel3d
  • [LevelDB]LevelDB版本管理的黑魔法-为什么能在不锁表的情况下管理数据?
  • bisheng系列(二)- 本地部署(前后端)
  • 【网络编程】十二、两万字详解 IP协议
  • Linux探秘:驾驭开源,解锁高效能——基础指令
  • WebSocket解决方案的一些细节阐述
  • 大数据量下Redis分片的5种策略
  • muduo库TcpServer模块详解
  • Java 代码生成工具:如何快速构建项目骨架?
  • Nginx核心服务
  • 第22天-Python ttkbootstrap 界面美化指南
  • Kubernetes控制平面组件:Kubelet详解(七):容器网络接口 CNI
  • web应用技术第6次课---Apifox的使用
  • Flutter与Kotlin Multiplatform(KMP)深度对比及鸿蒙生态适配解析
  • Predict Podcast Listening Time-(回归+特征工程+xgb)
  • Redis队列与Pub/Sub方案全解析:原理、对比与实战性能测试
  • 深度估计中为什么需要已知相机基线(known camera baseline)?
  • 显卡、Cuda和pytorch兼容问题
  • SseEmitter是什么
  • OBOO鸥柏丨AI数字人触摸屏查询触控人脸识别语音交互一体机上市
  • 第5天-python饼图绘制
  • 2023 睿抗机器人开发者大赛CAIP-编程技能赛-本科组(国赛) 解题报告 | 珂学家
  • LabVIEW风机状态实时监测
  • 十一、面向对象底层逻辑-Dubbo过滤器Filter接口
  • 双检锁(Double-Checked Locking)单例模式
  • linux安装nginx和前端部署vue项目