vue3中的provide 与 inject

news2024/9/23 19:23:05

一、概述

作用:实现祖先与后代组件的通信。一般为祖孙通信,因为子组件可以用props来通信。  

语法:父组件中:provide('car', car)    子组件中:let car = inject('car')

二、举例说明(代码如下)

(1)目录结构 

(2)parentView.vue(provide传递数据)

<template>
    <div class="parent">
        <h2>父组件:{{ name }}---{{ price }}</h2>
        <Child></Child>
    </div>
</template>

<script>
import { provide, reactive, toRefs } from 'vue';
import Child from './childView.vue'

export default {
    components: {
        Child
    },
    setup() {
        let car = reactive({
            name: '法拉利',
            price: '20K'
        })

        // provide传递数据
        provide('car', car)

        return {
            ...toRefs(car)
        }
    }
}
</script>

<style>
.parent {
    padding: 10px;
    background-color: skyblue;
}
</style>

(3)childView.vue

<template>
    <div class="child">
        <h2>子组件:{{ name }}---{{ price }}</h2>
        <Sun></Sun>
    </div>
</template>

<script>
import Sun from './sunView.vue'
export default {
    components: {
        Sun
    },
    setup() {
    }
}
</script>

<style>
.child {
    padding: 10px;
    background-color: skyblue;
}
</style>

(4)sunView.vue(inject接收数据)

<template>
    <div class="sun">
        <h2>孙组件:{{ car.name }}---{{ car.price }}</h2>
    </div>
</template>

<script>
import { inject } from 'vue';


export default {
    setup() {
        // inject 接收数据
        let car = inject('car')
        return {
            car
        }
    }
}
</script>

<style>
.sun {
    padding: 10px;
    background-color: pink;
}
</style>

三、最终效果展示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1131689.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

逐鹿千亿市场:一碗中国面的魅力

【潮汐商业评论/原创】 根据世界方便面协会&#xff08;WINA&#xff09;发布的数据&#xff0c;2022年全球方便面总需求量同比增长4.0%至1212亿份&#xff0c;再创历史新高。从小门头商铺到大型商超&#xff0c;从线下到线上&#xff0c;方便面早就走进了千家万户&#xff0c…

C++ 左值、右值、左值引用以及右值引用

一、左值和右值 将亡值 1.左值 左值是一个表示数据的表达式&#xff0c;比如&#xff1a;变量名、解引用的指针变量。一般地&#xff0c;我们可以获取它的地址和对它赋值&#xff0c;但被 const 修饰后的左值&#xff08;常性&#xff09;&#xff0c;不能给它赋值&#xff0…

系统架构设计师之软件概要设计

系统架构设计师之软件概要设计

设计模式(15)组合模式

一、介绍&#xff1a; 1、定义&#xff1a;组合多个对象形成树形结构以表示“整体-部分”的关系的层次结构。组合模式对叶子节点和容器节点的处理具有一致性&#xff0c;又称为整体-部分模式。 2、优缺点&#xff1a; 优点&#xff1a; &#xff08;1&#xff09;高层模块调…

国外问卷调查赚钱靠谱吗?

大家好&#xff0c;我是橙河网络&#xff0c;这几年的国外问卷调查项目可真是火得一塌糊涂&#xff0c;不少人靠这个项目赚得是盆满钵满&#xff0c;让人直流口水。今天&#xff0c;我就来给大家详细扒一扒这个国外问卷调查赚钱靠谱吗&#xff1f; 首先&#xff0c;我得跟大家…

家长扫码查成绩

亲爱的老师&#xff0c;你是否曾为了如何让家长更方便地查询学生的成绩而烦恼&#xff1f;现在&#xff0c;我们为你介绍一款简单易用的成绩查询系统&#xff0c;让家长只需轻轻一扫&#xff0c;即可查看孩子的成绩。 一、什么是成绩查询系统&#xff1f; 成绩查询系统是一款专…

TTS | 一文总览语音合成系列基础知识及简要介绍

Text-to-Speech&#xff08;通常缩写为TTS&#xff09;是指一种将文本读成音频的技术。换句话说&#xff0c;它指的是一种模型&#xff0c;在该模型中&#xff0c;当文本或类似于字符的东西作为输入时&#xff0c;会生成波形音频作为输出。 但实际上&#xff0c;这个 TTS 的音…

iOS调试技巧——使用Python 自定义LLDB

一、类介绍 在使用Python 自定义LLDB之前,先了解一下LLDB的一些类型 SBTarget 正在被调试的程序SBProcess 和程序关联的具体的进程SBThread 执行的线程SBFrame 和线程关联的一个栈帧SBVariable 变量,寄存器或是一个表达式一般情况下,我们取到SBFrame就可以进行方法调用来打…

Spring Boot整合swagger2

在上一篇中我们围绕了Spring Boot 集成了RESTful API项目&#xff0c;但是我们在实际开发中&#xff0c;我们的一个RESTful API有可能就要服务多个不同的开发人员或者开发团队&#xff0c;包括不限于PC,安卓&#xff0c;IOS&#xff0c;甚至现在的鸿蒙OS&#xff0c;web开发等等…

buuctf_练[网鼎杯 2018]Fakebook

[网鼎杯 2018]Fakebook 文章目录 [网鼎杯 2018]Fakebook掌握知识解题思路关键paylaod 掌握知识 ​ SQL注入的联合注入&#xff1b;闭合类型的探查&#xff0c;本次是数字型闭合&#xff1b;SQL注入的读取文件的利用 解题思路 打开题目链接&#xff0c;发现主界面给了一些信息…

大数据-Storm流式框架(一)

一、storm介绍 Storm是个实时的、分布式以及具备高容错的计算系统 Storm进程常驻内存&#xff08;worker&#xff0c;supervisor&#xff0c;nimbus&#xff0c;ui&#xff0c;logviewer。。。&#xff09;Storm数据不经过磁盘&#xff0c;在内存中处理Twitter开源的分布式实时…

CSS基础框盒模型:打造炙手可热的网页布局!

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 ⭐ 专栏简介 &#x1f4d8; 文章引言 一、是…

老师们都在用的办公好物

现在还有老师不知道班级查询系统吗?各位老师们&#xff0c;向大家推荐一款超级实用的班级查询系统&#xff0c;帮你轻松管理学生信息&#xff0c;省去繁琐的手动操作&#xff0c;还能让学生们自主查询&#xff0c;简直是老师的福音&#xff01; 如果你在编程方面感到有些吃力&…

vscode推送gitee方法

有一套uni-app代码需要修改&#xff0c;版本控制使用vscode的git功能&#xff0c;远程库在gitee上。 1、设置vscode中git.exe路径 由于git使用了绿色便携版&#xff08;PortableGit-2.42.0.2-64-bit.7z.exe&#xff09;&#xff0c;vscode未识别到git安装路径&#xff0c;需要…

RTE2023大会来袭,声网宣布首创广播级4K超高清实时互动体验

10月24日&#xff0c;由声网和RTE开发者社区联合主办的RTE2023第九届实时互联网大会在北京举办&#xff0c;声网与众多RTE领域技术专家、产品精英、创业者、开发者一起&#xff0c;共同开启了以“智能高清”为主题的全新探讨。本届RTE大会将持续2天&#xff0c;开展1场主论坛及…

【路径规划】A*算法 Java实现

A*&#xff08;A-Star&#xff09;算法是一种广泛使用的寻路算法&#xff0c;尤其在计算机科学和人工智能领域。 算法思想 通过评估函数来引导搜索过程&#xff0c;从而找到从起始点到目标点的最短路径。评估函数通常包括两部分&#xff1a;一部分是已经走过的实际距离&#x…

「我在淘天做技术」双 11 背后的营销技术体系

作者&#xff1a;朱咏杰(小枫) 近期淘天集团秋季 2024 届校园招聘正式启动&#xff0c;预计将发放 2000 多个 offer&#xff0c;其中技术类岗位占比超过 50%。为了方便大家更真实地了解淘天技术的布局和现状&#xff0c;我们策划了「我在淘天做技术」系列&#xff0c;首次全面分…

科技资讯|苹果穿戴新专利,表带、服装等织物可变身柔性屏幕或扬声器

根据美国商标和专利局&#xff08;USPTO&#xff09;本周公示的清单&#xff0c;苹果公司获得了一项新的技术专利&#xff0c;可以在 Apple Watch 表带、服装等物品上&#xff0c;引入基于织物的柔性扬声器。 根据专利描述&#xff0c;通过在织物中嵌入声学组件&#xff08;例…

Makefile总结

一、Makefile用法及变量&#xff08;自定义变量、自动变量、隐含变量&#xff09; 一、Makefile的重要性 1、编译文件 2、正常编译&#xff0c;文件多的时候操作麻烦 3、决定能不能完成大型工程 二、Makefile的概述 1、自动化编译-makefile 编译效率&#xff1a;make编译…