18910140161

Vue3 全局js方法 怎么获取组件中emit方法

顺晟科技

2021-07-23 12:00:18

55

//A.vue 组件


顺晟科技:

是这样的,这是一个上传组件,里面有上传成功后返回的文件地址,以及在线管理选中地址,包括其它回调方法,而这个组件不知道会在什么地方被使用,我想类似于 js 那种 方法然后参数里面带回调参数使用,这样 有 N个方法只要执行这个方法就行了,也好分别自己的分别处理回调信息

然后获取 A 组件实例的引用,存到全局可访问的地方。

然后在那个组件里面 用inject 取出来这个状态,

如果需要异步操作的话,可以使用 Promise 。

然后其他组件就可以调用了。

不过你这么做的目的是什么?为什么要把一个组件视为「函数方法」去使用?如果你只是想要一个可全局使用的响应式状态,使用 Compostion API 就好了。

vue3可以这样,(非ts方法,不知道ts是否可用)用 provide / inject 的方式,在根组件里面注入状态,比如reactive,里面可以有事件,比如这样

//请问如果我想这样去把一个组件设计成一个全局JS函数方法访问,我如何能够监听 A.vue组件里面 emit的方法,或者这种思路错误了?应该怎么做才能达到类似于这样的效果

相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航