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

【vue】跨组件通信--依赖注入

  • import { provide,inject } from 'vue'
    • provide:将父组件的数据传递给所有子组件(子孙都有)
    • inject:接收provide

项目文件结构

App.vueHeader.vue的父组件,Header.vueNav.vue的父组件

传值过程

在这里插入图片描述

在这里插入图片描述

App.vue

<template><h2>App.vue-Top组件</h2><p>user:{{ user }}</p><button @click="userAdd">添加用户</button><hr><Header />
</template><script setup>
import { ref, reactive ,provide} from "vue";
import Header from "./components/Header.vue";let user = ref(0);const web = reactive({name: "1234567890",url: "https://www.1234567890.com"
})const userAdd = () => {user.value += 1;
}provide("provideWeb", web)
provide("provideUser", user)
provide("provideFuncUserAdd", userAdd)</script><style lang="scss" scoped></style>

Header.vue

<template><h2>header  Middle组件</h2><p>接收App组件的user数据:{{ user }}</p><hr><Nav/>
</template><script setup>
import { inject } from 'vue'
import Nav from './Nav.vue'const user = inject('provideUser')
</script><style lang="scss" scoped></style>

Nav.vue

<template><h2>nav.vue Bottom组件</h2><p>接收App组件的web数据:{{ web }}</p><button @click="userAdd()">添加用户</button></template><script setup>
import { inject } from 'vue'const web = inject('provideWeb')
const userAdd = inject('provideFuncUserAdd')
</script><style lang="scss" scoped></style>

参考

https://www.bilibili.com/video/BV1nV411Q7RX

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

相关文章:

  • Aritest+python+Jenkins解放双手iOS/Android自动化
  • Problem #7 [Medium]
  • MySQ数据库: MySQL数据库的安装配置 ,图文步骤详细,一篇即可完成安装完成! MySQL数据库如何与客户端连接
  • vue3+vant自动导入+pina+vite+js+pnpm搭建项目框架
  • 使用 Axios 处理 AxiosError 的三种常见方法
  • linux上安装Tomcat
  • Ubuntu20.04安装ROS过程记录以及常见报错处理
  • PaddleOCR 图片日期识别
  • HTML5学习记录
  • 提升法律文书起草效率:AlphaGPT 助力律师快速生成诉讼和仲裁文件
  • 大数据之 Hive 快速搭建的详细步骤
  • 从入门到高级的99个python知识点
  • 设计模式之备忘录模式(上)
  • 算法中二分搜索详解
  • 关于无线充电项目总结IP6826
  • [CSS]样式属性+元素设置
  • 优雅关闭jar程序shell 脚本
  • 基于51单片机多功能洗衣机控制(强洗弱洗漂洗)设计( proteus仿真+程序+设计报告+原理图+讲解视频)
  • CVP(ChatGPT、Vector Database和Prompt)
  • c语言-----数组知识汇总
  • 【游戏开发之热更新技术】
  • 小红的白色字符串
  • Python+Django+Html网页版人脸识别考勤打卡系统
  • 第1章、react基础知识;
  • 物联网会用到哪些数据开发
  • [Linux]一篇文章带你搞定软硬连接
  • AI常见关键术语
  • DataX案例,MongoDB数据导入HDFS与MySQL
  • HarmonyOS鸿蒙端云一体化开发--适合小白体制
  • Quanto: PyTorch 量化工具包