您的位置:首页 > 教育 > 培训 > 免费推广中文黄页网_微商城开发需要多少钱_自己做网站的流程_西安百度爱采购推广

免费推广中文黄页网_微商城开发需要多少钱_自己做网站的流程_西安百度爱采购推广

2025/2/26 1:59:21 来源:https://blog.csdn.net/i1tws/article/details/145821972  浏览:    关键词:免费推广中文黄页网_微商城开发需要多少钱_自己做网站的流程_西安百度爱采购推广
免费推广中文黄页网_微商城开发需要多少钱_自己做网站的流程_西安百度爱采购推广

依赖注入 provideinject

官方网址:https://cn.vuejs.org/guide/components/provide-inject.html

provideinject 是 Vue 3 中用于实现 依赖注入 的两个 API。它们的主要作用是在父组件中提供数据或方法,然后在子孙组件中注入并使用这些数据或方法,而不需要通过 props 层层传递。

1. 基本概念

  • provide:在父组件中提供数据或方法。
  • inject:在子孙组件中注入父组件提供的数据或方法。

2. 使用步骤

(1) provide 提供依赖

父组件中,通过 provide 提供数据或方法。

<script setup>
import { provide } from 'vue'provide('userName', 'xiaoming');
</script>

provide() 函数接收两个参数。第一个参数被称为注入名 。 第二个参数是提供的值,值可以是任意类型,包括响应式的状态,比如一个 ref 。

<script setup>
import {ref} from 'vue'
import { provide } from 'vue'const userName = ref('xiaoming');
provide('userName', userName);
</script>
<script setup>
import {ref} from 'vue'
import { provide } from 'vue'//注入一个方法
provide('showMessage', (message) => {alert(message);
});
</script>

(2) inject 注入依赖

子孙组件中,通过 inject 注入父组件提供的数据或方法。

<script setup>
import { inject } from 'vue';const userName = inject('userName');
const showMessage = inject('showMessage');
</script>

默认情况下,inject 假设传入的注入名会被某个祖先链上的组件提供。如果该注入名的确没有任何组件提供,则会抛出一个运行时警告。

如果在注入一个值时不要求必须有提供者,那么我们应该声明一个默认值,和 props 类似:

// 如果没有祖先组件提供 "message"
// `value` 会是 "这是默认值"
const value = inject('message', '这是默认值')

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com