provide,inject父传子

embedded/2024/9/24 10:04:34/

这个方法传递子参数,可以让所有的子组件获取到,不能子组件传递给父组件

父组件

说下大概思路,导入privode,然后使用privode方法,有点像redis,key value形式存值,子组件可以通过key来获取你要传的值。你传过去是对象,那么它就是对象,如果你传过去的是数组,那么它就是数组,如果你传过去的是响应式对象,那么它就是响应式对象。这里有可能我理解有错,因为我就尝试传过去个对象或者一个响应式对象,我主要意思就是可以传响应式对象。

<template><Demo4Chiren2 @begin="handleCustomEvent" ref="demoChild" /><button @click="callChildMethod">调用子组件方法</button><p>子组件数据: {{ childData }}</p><demo4-chiren><a href="#">插槽</a></demo4-chiren><VueFooter><template v-slot:url><a href="#">wang</a></template>
</VueFooter>
<!--  <div>-->
<!--    <el-button link type="primary" size="small" @click="handlePrint" id="printTable">-->
<!--      打印-->
<!--    </el-button>-->
<!--    <el-button link type="primary" size="small" @click="print">-->
<!--      返回-->
<!--    </el-button>-->
<!--    <el-table :data="tabledata" style="width: 100%">-->
<!--      <el-table-column fixed prop="date" label="Date" width="150" />-->
<!--      <el-table-column prop="name" label="Name" width="120" />-->
<!--      <el-table-column prop="state" label="State" width="120" />-->
<!--      <el-table-column prop="city" label="City" width="120" />-->
<!--      <el-table-column prop="address" label="Address" width="600" />-->
<!--      <el-table-column prop="zip" label="Zip" width="120" />-->
<!--    </el-table>-->
<!--  </div>--></template><script>
//provide 把父组件所有信息传递给所有子组件
import { defineComponent, ref ,provide } from 'vue';
import VueFooter from "./vueFooter.vue";
import Demo4Chiren2 from './Demo4Chiren2.vue';
import Demo4Chiren from "./demo4Chiren.vue";// 请根据实际路径调整
export default defineComponent({components: {VueFooter,Demo4Chiren,Demo4Chiren2},setup() {const web = {name:"zzzz",url:"#"};// provide("provideWeb",web)//provide 把父组件所有信息传递给所有子组件provide("web",web);const demoChild = ref(null);const childData = ref('');const handleCustomEvent = (data) => {console.log('接收到子组件数据:', data);// childData.value = data.message;};const callChildMethod = () => {if (demoChild.value) {console.log(demoChild.value.sayHi());}};const handlePrint = ()=>{}return {demoChild,childData,handleCustomEvent,callChildMethod,web};}
});
</script>

子组件

导入inject,然后inject方法去key,value取值即可

<template><div>{{ fullName }}</div><slot></slot>
<!--  <div>{{web.name}}</div>-->
</template><script>
//子组件通过inject获取父组件传下来的信息
import { ref, computed,inject} from 'vue';export default {setup() {// 根据key去获取,根据父组件传过来是啥就是啥,如果是响应式数据,那么它就是响应式数据const web = inject('web')console.log("provideUser",web)const firstName = ref('Jane');const lastName = ref('Doe');const fullName = computed(() => firstName.value + ' ' + lastName.value);return { fullName,web };}
}
</script>


http://www.ppmy.cn/embedded/116043.html

相关文章

计算机毕业设计之:基于微信小程序的中药材科普系统(源码+文档+讲解)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

Redis数据结构之哈希表

这里的哈希表说的是value的类型是哈希表 一.相关命令 1.hset key field value 一次可以设置多个 返回值是设置成功的个数 注意&#xff0c;哈希表中的键值对&#xff0c;键是唯一的而值可以重复 所以有下面的结果&#xff1a; key中原来已经有了f1&#xff0c;所以再使用hse…

计算机科学(学习笔记四)

早期的编程方式 纸片打孔等方法 汇编语言 编程语言发展史 汇编语言也叫机器语言&#xff0c;是计算机的母语。但01不便于人们操作&#xff0c;人们为了方便操作&#xff0c;会输入文字指令&#xff0c;通过汇编器自动转成二进制指令。 但汇编码和底层硬件仍息息相关&#xff…

网安新声 | 黎巴嫩BP机爆炸事件带来的安全新挑战与反思

网安加社区【网安新声】栏目&#xff0c;汇聚网络安全领域的权威专家与资深学者&#xff0c;紧跟当下热点安全事件、剖析前沿技术动态及政策导向&#xff0c;以专业视野和前瞻洞察&#xff0c;引领行业共同探讨并应对新挑战的策略与可行路径。 9月17日&#xff0c;黎巴嫩境内发…

抓机遇,促发展——2025第十二届广州国际汽车零部件加工技术及汽车模具展览会

新能源时代&#xff0c;电动化、智能化正在重塑全球汽车市场格局。中国自主品牌新能源汽车的市占率不断提升、头部效应初显&#xff0c;更有机会带动相关供应链企业成长。中国的零部件企业有望抓住变局下的机会&#xff0c;在新一轮竞争中崛起。 智能电动车时代&#xff0c;汽车…

数理统计(第一章)

数理统计核心问题&#xff1a;有子样推断母体 1.1 母体和子样 母体&#xff1a;研究对象的全体&#xff08;关心个体的一项或者几项&#xff09;数量指标及总体的分布情况。 比如&#xff1a;一批灯泡的使用寿命&#xff0c;班级学生的身高&#xff0c;体重等。 1.2 母体分布…

Deep Guided Learning for Fast Multi-ExposureImage Fusion

Abstract 我们提出了一种快速多重曝光图像融合&#xff08;MEF&#xff09;方法&#xff0c;即 MEF-Net&#xff0c;用于任意空间分辨率和曝光次数的静态图像序列。 我们首先将输入序列的低分辨率版本提供给全卷积网络以进行权重图预测。 然后&#xff0c;我们使用引导滤波器联…

安卓13长按电源按键直接关机 andriod13不显示关机对话框直接关机

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析4.代码修改5.编译6.彩蛋1.前言 有些设备需要在长按电源键的时候,直接关机。不需要弹出对话框进行询问。 2.问题分析 过滤电源按键,需要在系统里面处理的话,那么我们需要熟悉android的事件分发,然后再…