activeX如何监听事件并维护vue组件状态

如果使用script for方式来监听事件

clipboard.png

那么这个script标签相当于在window对象下注册了一个全局函数
由activeX对象来触发
那怎么在全局环境下访问vue的组件方法来维护组件状态?
或者有什么其他办法来提供监听,addEventListener(IE9)我试过。。并不会触发

clipboard.png

阅读 4k
3 个回答

可以在全局写个"自定义事件"

window.myEvent = {
  events: {},
  addEvent(name, handler) {
    const fns = this.events[name]
    this.events[name] = fns ? fns.push(handler) : [handler]
  },
  emitEvent(name, params) {
    for (let e of this.events[name]) {
      e(params)
    }
  }
}

在你的组件window.myEvent.addEvent注册回调
然后在script...for里监听activeX的事件 将参数用window.myEvent.emitEvent传递给组件就好了

楼主解决了吗?

楼主解决了吗?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题