首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使vue文件侦听(mitt的emitter.on)外部js文件中的emitter.emit事件?

如何使vue文件侦听(mitt的emitter.on)外部js文件中的emitter.emit事件?
EN

Stack Overflow用户
提问于 2021-04-06 17:55:45
回答 1查看 935关注 0票数 1

我的问题是我有一个外部文件,希望发出一个Vue文件可以访问的事件。

external.js:

代码语言:javascript
复制
import mitt from 'mitt';
const emitter = mitt();

function transaction(){
  emitter.emit('TRANSACTION_CONFIRMED_NOTIFICATION', true)
}

vue文件:

代码语言:javascript
复制
const internalInstance = getCurrentInstance();
const emitter = internalInstance.appContext.config.globalProperties.emitter;
setup(){    
  emitter.on("TRANSACTION_CONFIRMED_NOTIFICATION", payload => {
     console.log('notify ' + payload);
  });
}

我能知道怎么做吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-06 18:53:24

您的Vue文件和外部脚本需要使用相同的发射器实例来侦听它们之间的事件。

如果您控制外部脚本,则导出发射器实例,以便Vue文件可以导入它:

external.js:

代码语言:javascript
复制
export const emitter = mitt()

//...

Vue文件:

代码语言:javascript
复制
import { emitter } from './external'

export default {
  setup() {
    emitter.on(/*...*/)
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66973981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档