微前端qiankun中,在子应用addEventListener注册popstate事件,但为何在主应用history模式下,跳转页面也会触发子应用注册的popstate事件呢?

新手上路,请多包涵

微前端qiankun中,子应用是hash模式,可以通过addEventListener注册popstate事件,从而监听浏览器的返回操作,但为何在主应用history模式下,跳转页面也会触发子应用注册的popstate事件呢?

我推断qiankun中所有的子应用和主应用,window对象都是同一个,有什么办法可以隔离彼此吗

阅读 3.4k
2 个回答
新手上路,请多包涵

在子应用卸载时移除事件监听器或者在 popstate 事件的处理器中判断事件的来源,如果是子应用就忽略事件源

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