爷孙组件数据传递 provide/inject

创建三个组件GrandpaA.vue (爷) => FatherA.vue (父) => SonA (儿)

在每个组件中套用下一个组件

爷组件

复制代码
<template>
  <div class="box">
    GrandpaA 爷爷
    <button @click="change">修改数据</button>
    <FatherA></FatherA>
  </div>
</template>

<script>
import FatherA from "@/components/FatherA.vue";
export default {
  provide() {
    return {
      color: this.color,
      userInfo: this.userInfo,
    };
  },
  data() {
    return {
      color: "pink", //简单数据类型(不是响应性)
      userInfo: {
        name: "张三",  //复杂数据类型(响应性)
        age: 18,
      },
    };
  },
  methods:{
    change(){
      // 点击修改数据 
      // this.color = "red";    //没有响应性
      this.userInfo.name = "李四";    //有响应性
    }
  },
  components: {
    FatherA,
  }
}
</script>

孙祖件

复制代码
<template>
  <div class="box">
    <p>SonA 儿子</p>
    {{ color }}
    {{ userInfo.name }}
    {{ userInfo.age }}
  </div>
</template>

<script>
export default {
  inject: ["color", "userInfo"],
};
</script>

流程图

相关推荐
颜进强1 分钟前
AI性能参数-截断、延迟与流式输出
前端·后端·ai编程
spmcor8 分钟前
React 架构师之路:Next.js 全栈革命(第八篇)
前端·react.js
英勇无比的消炎药9 分钟前
TinyRobot 源码深度分析:OpenTiny 的 AI 对话组件库
前端·vue.js·github
假如让我当三天老蒯10 分钟前
React基础、进阶(学习用)
前端·react.js·面试
风骏时光牛马12 分钟前
HTML十大经典实战代码案例合集
前端
weedsfly14 分钟前
前端必知必会:从 IIFE 到 ESM,模块化到底在解决什么?
前端·javascript
渣波18 分钟前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
槑有老呆21 分钟前
每次跟大模型聊天,都是一次「失忆」的 HTTP 请求
javascript
笨鸟飞不快21 分钟前
从单个服务到集群:一次完整的性能排查复盘
java·前端
sarasuki23 分钟前
彻底搞懂JS闭包:从作用域链、形成条件到优缺点
javascript