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

[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.xdnf.cn/news/7790.html

相关文章:

  • PCB 横截面几何形状
  • 几种超声波芯片的特点和对比
  • 【东枫科技】usrp rfnoc 开发环境搭建
  • 学习python day4
  • 101个α因子#11
  • 基于python的机器学习(八)—— 评估算法(一)
  • 力扣周赛置换环的应用,最少交换次数
  • 高阶数据结构——红黑树实现
  • CentOS:搭建国内软件repository,以实现自动yum网络安装
  • Windows逆向工程提升之IMAGE_FILE_HEADER
  • 【Linux笔记】防火墙firewall与相关实验(iptables、firewall-cmd、firewalld)
  • 健康监测实训室建设方案构建
  • 每日代码解读专栏:OpenVLA(Action)部分的解读
  • 从机械应答到深度交互,移远通信如何让机器人“灵魂觉醒”?
  • spring中的Interceptor使用说明
  • 静态方法和实例方法的区别
  • Java枚举详解
  • PromptIDE:一款强大的AI提示词优化工具
  • CYT4BB Dual Bank - 安全启动
  • jenkins使用Send build artifacts over SSH发布jar包目录配置
  • 软件设计师“排序算法”真题考点分析——求三连
  • 002-类和对象(一)
  • (八)深度学习---计算机视觉基础
  • 信息系统项目管理师考前练习4
  • 深入理解 Pre-LayerNorm :让 Transformer 训练更稳
  • Day123 | 灵神 | 二叉树 | 找树左下角的值
  • Vue3中插槽, pinia的安装和使用(超详细教程)
  • 物联网之使用Vertx实现UDP最佳实践【响应式】
  • DataOutputStream DataInputStream转换流
  • I.MX6U Mini开发板测试GPIO