Vue3 全局js方法 怎么获取组件中emit方法?
<template>
<div @click="onClick"></div>
</template>
<script lang="ts">
............
............
export default defineComponent({
setup(props, context) {
const onClick=()=>{
context.emit("onA","向上抛一个方法")
}
.....
}
})
</script>
// A.ts 里面
import A from "@/components/A.vue";
export default {
install(app: any) {
app.config.globalProperties.$A= (config: any) => {
let vm = createVNode(A, {});
vm.appContext = app._context;
render(vm, dom);
});
}
}
}
请问如果我想这样去把一个组件设计成一个全局JS函数方法访问,我如何能够监听 A.vue组件里面 emit的方法,
或者这种思路错误了?应该怎么做才能达到类似于这样的效果
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
其实你就是希望有个回调而已:
1、可以试试, vm.$on("xxx",()=>{ })。 (这个方法我也没试过)
2、这个方法我试过,可以用
new Promise((resolve,reject)=>{
3、关于全局弹窗,可以参考我的demo代码 https://gitee.com/muand/vue3-...