如何在一个插件中访问其他插件?

zeo*_*dtr 5 vue.js vuejs3

在组件的<script setup>块中,我可以使用inject() 访问插件。

但是我如何provide()在以后的use()插件中访问其他插件呢?

我希望传递给插件函数的对象app.inject()中有,但没有这样的函数。appinstall()

也许我可以使用_contextapp项目的属性,但这看起来像是一个黑客。

aal*_*lku 0

我只是在 main.js 中使用回调将对象从一个插件传递到另一个插件。

let _bus = null;
app.use(eventBus, { initListener: (x) => { _bus = x } });
app.use(backendBus, { bus: _bus });
Run Code Online (Sandbox Code Playgroud)

然后 eventBus 插件的安装调用options.initListener(some object);,您可以看到该对象最终出现在 backendBus 插件的选项中。

我猜想插件可以修改它接收到的选项对象,而不是使用回调,并且您可以在 main.js 中看到这些修改,但这对我来说看起来比使用选项作为双向信使更好。