如何用Provide和Inject做Vue3插件


这篇“如何用Provide和Inject做Vue3插件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何用Provide和Inject做Vue3插件”文章吧。在 Vue2 中,大多数插件将属性注入到 this 上。例如可以通过 this.$router 访问 Vue 路由器。但是,setup() 方法不再包含对 this 的相同引用。进行这种更改的主要原因是增加了对 Typescript 的支持。那么在 Vue3 中该如何访问我们的插件呢?可以用 provide 和 inject 来帮助我们在 Vue 程序中注入依赖项。Provide/inject 用于依赖项注入,可以使我们能在 Vue 程序的根目录中提供插件,并且然后将其注入子组件中。在 Composition API 中,只能在 setup() 方法期间调用这两种方法。我们需要某种键来识别依赖关系, Javascript 的 Symbol 可以复合这种要求。然后 provide 方法会将我们的 Symbol 与某个值相关联,而 inject 方法会用相同的 Symbol 检索这个值。下面是一个例子:Vue3 通过这种模式可以实现一些很实用的技巧。如果我们想在全局作用域中提供一些东西,可以在声明我们的 VUE 实例的时候下用 app.provide。然后可以用相同的方式进行注入。如果我们希望将响应式数据传递给子组件,这也非常方便。只需要用 ref() 传递我们方法的一个响应式的属性。实际上设计插件与我们刚才看到的简单例子非常相似。但是我们不想使用单个值,而是要使用组合函数。这是 Vue3 的一个巨大优势 —— 能够根据函数组织和提取代 香港云主机码。由于我们的代码无论如何都应该用有组织的组合函数编写,所以只需要创建这些 provide 和 inject 方法就能够写出一个插件。先简单的看一下 Vue3 Composition API 文档中提供的插件例子。在实际的组件中会这样使用:根据上述代码,在某些根组件中,我们提供了插件,并向其传递了组件函数。然后无论想在哪里使用都必须将其注入到我们的组件中。组件永远不必真正进行 provide/inject 调用,而只需调用插件公开的 provideStore/useStore 方法即可。简单的来说是:能。如果多说点,那就是取决于你自己的想法。可以继续使用 Options API,并且对 this 的引用方式与以前相同,并且所有旧插件的工作方式都不变。但是迁移到 Vue3 并利用其所有功能觉得是值得的。只要你想用 Vue2 的 Options API,你的插件就可以正常工作。但是,很多维护良好的插件或库都应该添加对 Vue3 的支持。以上就是关于“如何用Provide和Inject做Vue3插件”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注开发云行业资讯频道。

相关推荐: TP5相关解决问题有哪些

这篇文章给大家介绍TP5相关解决问题有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。修改vhosts.confhttpd.conf去掉LoadModule rewrite_module前面的#AllowOverride None 替换…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 10/23 22:58
Next 10/23 22:58

相关推荐