前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在Vue3中使用Provide / Inject

在Vue3中使用Provide / Inject

作者头像
青年码农
发布2021-01-05 10:56:01
2K0
发布2021-01-05 10:56:01
举报
文章被收录于专栏:青年码农青年码农

前面已经讲了浅谈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
代码语言:javascript
复制
import { provide } from "vue";
export default {
  setup() {
    provide("data", "给子孙的数据");
  }
};

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

代码语言:javascript
复制
import { provide } from "vue";
export default {
  setup() {
    provide("data", {
      data1: "给子孙的数据1",
      data2: "给子孙的数据2"
    });
  }
};

2 使用 inject

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

inject 函数有两个参数:

  1. 要注入的 property 的名称
  2. 一个默认的值 (可选)
代码语言:javascript
复制
import { inject } from "vue";
export default {
  setup() {
    const data = inject("data");
    return {
      data
    };
  }
};

设置默认值

代码语言:javascript
复制
import { inject } from "vue";
export default {
  setup() {
    const data = inject("data", "我是默认值");
    return {
      data
    };
  }
};

3 总结

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 青年码农 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档