- HTML DOM Document 对象
- vue中 click 和tap
- 如何提高网站信任度
- 百度分词算法分析一
- 什么是反向链接?反向链接是什么?
- Asp.net(C#)给图片加上水印效果
- js调用cs中函数的方法 和 在cs中调用js函数的方法
- 淘宝种草官是什么?
- Request.url用法
- c#属性 [ApiExplorerSettings(IgnoreApi = true)]有什么作用?
邮箱:
手机:15383239821
Vue3 跨组件传参 provide 与 inject
provide 用于:让父组件 传递数据。
inject 用于:让后代组件 接收数据。
语法格式:
// 传递数据
import { provide } from 'vue';
provide('数据名', 数据);
// 接收数据
import { inject } from 'vue';
let 变量 = inject('数据名');

跨组件传参:
第一层组件:传递数据。
<template>
<h3>我是第一层组件</h3>
<p>{{ info.name }} : {{ info.age }}</p>
<hr />
<Two></Two>
</template>
<script setup>
// 引用 provide 函数
import { provide, reactive } from 'vue'
import Two from "../components/Two.vue"
let info = reactive({ name: "张三", age: 18 });
// 给后代组件传递数据
provide('info', info);
</script>
第二层组件:接收数据。
<template>
<h3>我是第二层组件</h3>
<p>{{ info.name }} : {{ info.age }}</p>
<hr />
<Three></Three>
</template>
<script setup>
// 引用 inject 函数
import { inject } from 'vue'
import Three from "../components/Three.vue"
// 接收数据
let info = inject('info');
</script>
第三层组件:接收数据。
<template>
<h3>我是第三层组件</h3>
<p>{{ info.name }} : {{ info.age }}</p>
</template>
<script setup>
// 引用 inject 函数
import { inject } from 'vue'
// 接收数据
let info = inject('info');
</script>
最终效果:

注:传递的数据可以在任意一层后代组件中使用。
-
2024-08-25宝塔:面板LNMP和LAMP环境套件的区别与选择
-
2012-06-30SEO三元素“链接 结构 内容”关系亲密解读
-
2023-11-26命令行 查看当前.net和.net core版本
-
2010-10-02C#多线程函数如何传参数和返回值
-
2011-03-15C# 获取当前屏幕大小或任务栏大小,不用API
