在Vue3中使用Provide / Inject

举报
青年码农 发表于 2022/08/24 22:36:24 2022/08/24
【摘要】 前面已经讲了浅谈Vue2中provide和inject使用,今天讲讲在Vue3中如何使用provide和inject Vue3的写法已经和Vue2有所不同,因此需要熟悉Vue3的写法,其实变动不大,现在官方文档也有详细介绍,有兴趣的可以去了解. 1 使用 Provide 在 setup() 中使用 pro...

前面已经讲了浅谈Vue2中provide和inject使用,今天讲讲在Vue3中如何使用provide和inject

Vue3的写法已经和Vue2有所不同,因此需要熟悉Vue3的写法,其实变动不大,现在官方文档也有详细介绍,有兴趣的可以去了解.

1 使用 Provide

在 setup() 中使用 provide 时,我们首先从 vue 显式导入 provide 方法。这使我们能够调用 provide 时来定义每个 property。

provide 函数允许你通过两个参数定义 property:

  1. property 的 name (<String> 类型)

  2. property 的 value


   
  1. import { provide } from "vue";
  2. export default {
  3.   setup() {
  4.     provide("data""给子孙的数据");
  5.   }
  6. };

上面这种方式传递String类型,还可以传递对象类型


   
  1. import { provide } from "vue";
  2. export default {
  3.   setup() {
  4.     provide("data", {
  5.       data1: "给子孙的数据1",
  6.       data2: "给子孙的数据2"
  7.     });
  8.   }
  9. };

使用 inject

在 setup() 中使用 inject 时,还需要从 vue 显式导入它。一旦我们这样做了,我们就可以调用它来定义如何将它暴露给我们的组件。

inject 函数有两个参数:

  1. 要注入的 property 的名称

  2. 一个默认的值 (可选)


   
  1. import { inject } from "vue";
  2. export default {
  3.   setup() {
  4.     const data = inject("data");
  5.     return {
  6.       data
  7.     };
  8.   }
  9. };

设置默认值


   
  1. import { inject } from "vue";
  2. export default {
  3.   setup() {
  4.     const data = inject("data""我是默认值");
  5.     return {
  6.       data
  7.     };
  8.   }
  9. };

3 总结

基本用法和Vue区别不大,熟悉Vue2的可以直接上手。

文章来源: blog.csdn.net,作者:NMGWAP,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/NMGWAP/article/details/125067186

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。