提示信息

vue3,provide与inject用法

忧郁 已关注

provideinject 是 Vue3 的一对 API,主要用于在组件树中传递数据,这对于跨级别的数据传递非常有效。

首先,我们需要在父组件(或任何祖先组件)中使用 provide 方法来提供数据:

  1. <script setup>
  2. import { provide } from 'vue';
  3. const someData = "Hello World";
  4. provide('key', someData);
  5. </script>

然后,在下游的任何子组件或孙子组件中,我们可以使用 inject 方法来注入并使用这些数据:

  1. <script setup>
  2. import { inject } from 'vue';
  3. const injectedData = inject('key');
  4. </script>

注意,provideinject 使用的 key 必须匹配。这样,你就可以在子组件中使用由父组件提供的数据了。

此外,还可以为 inject 提供一个默认值,以防止上游组件没有提供相应的值:

  1. <script setup>
  2. import { inject } from 'vue';
  3. const injectedData = inject('key', 'default value');
  4. </script>

在这个例子中,如果没有任何祖先组件提供名为 'key' 的数据,那么 injectedData 将会是 'default value'。

    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
忧郁 关注 已关注

最近一次登录:2023-12-28 13:18:32   

暂时还没有签名,请关注我或评论我的文章
×
免费图表工具,画流程图、架构图