micro-app icon indicating copy to clipboard operation
micro-app copied to clipboard

子应用内注册监听器不生效

Open bloodly opened this issue 3 years ago • 6 comments

问题描述

在子应用mount方法里注册了一个监听器 window.microApp.addDataListener((data) => { console.log('addDataListener = ',data) },true)

但通过主应用打开并microApp.setData(appName,data)之后,子应用无法响应数据变化 无报错 子应用打印window.microApp也正常

环境信息

  • micro-app版本:0.8.5
  • 主应用前端框架&版本:vue 2.6.11
  • 子应用前端框架&版本:vue 2.6.11

bloodly avatar Mar 31 '22 09:03 bloodly

主应用传了没有

jiangruifeng avatar Apr 19 '22 02:04 jiangruifeng

micro-app再次封装成组件的时候就失效了

200684632 avatar Apr 28 '22 06:04 200684632

这个问题有解决吗。我也遇到了

ChenYingbo avatar May 30 '22 07:05 ChenYingbo

或者 有没有代替的方案

ChenYingbo avatar May 30 '22 07:05 ChenYingbo

  • 主应用注册
import microApp, { EventCenterForMicroApp } from '@micro-zoe/micro-app'
window.eventCenterForChildApp_1 = new EventCenterForMicroApp('child-app-1')

// 传递
 // 向子应用传递路由 
    microApp.setData('child-app-1', { path: 'path' })

  • 子应用接收 经作者提示,已加上第二个参数true,
    autoTrigger: 在初次绑定监听函数时如果有缓存数据,是否需要主动触发一次,默认为false
if(window.eventCenterForChildApp_1){
  window.eventCenterForChildApp_1.addDataListener((data) => {
    console.log(8, data)
    // 当基座下发跳转指令时进行跳转
    if (data.path) {
      console.log('push')
      router.push(data.path)
    }
  }, true)
}

zhoufanglu avatar Jul 04 '22 09:07 zhoufanglu

addDataListener 第二个参数设置为true,window.eventCenterForChildApp_1.addDataListener((data) => {}, true)

bailicangdu avatar Jul 04 '22 12:07 bailicangdu

同样的问题我也遇到了

ldwonday avatar Apr 07 '23 06:04 ldwonday