小程序
小游戏
企业微信
微信支付
扫描小程序码分享
主包父页面调用异步分包子功能组件,触发自定义事件响应回调返回异常?是必须要通过原型链去获取回调参数吗?
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
小程序的分包加载(包括异步化)不会影响组件间的通讯。无论是父子组件之间还是跨组件,只要你正确地设置了自定义事件及其处理函数,这些功能都应该能够正常工作。
自定义事件的使用方式如下:
javascript 复制代码 // 在子组件的方法中使用 this.triggerEvent 触发事件 this.triggerEvent('myevent', { data: 'Hello from child component' });
html 复制代码 <!-- 在父组件的模板中使用 bind:myevent 或 catch:myevent 来监听事件 --> <child-component bind:myevent="onMyEvent"></child-component> javascript 复制代码 // 在父组件的方法中处理事件 Page({ onMyEvent(e) { console.log(e.detail.data); // 输出 "Hello from child component" }, });
如果你发现自定义事件丢失或者没有按预期运行,可能的原因包括:
onLoad
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
小程序的分包加载(包括异步化)不会影响组件间的通讯。无论是父子组件之间还是跨组件,只要你正确地设置了自定义事件及其处理函数,这些功能都应该能够正常工作。
自定义事件的使用方式如下:
javascript 复制代码 // 在子组件的方法中使用 this.triggerEvent 触发事件 this.triggerEvent('myevent', { data: 'Hello from child component' });
html 复制代码 <!-- 在父组件的模板中使用 bind:myevent 或 catch:myevent 来监听事件 --> <child-component bind:myevent="onMyEvent"></child-component> javascript 复制代码 // 在父组件的方法中处理事件 Page({ onMyEvent(e) { console.log(e.detail.data); // 输出 "Hello from child component" }, });
如果你发现自定义事件丢失或者没有按预期运行,可能的原因包括:
onLoad
方法之后。因为父组件的onLoad
方法在子组件的onLoad
方法之前执行,如果你在子组件的onLoad
方法中就触发了事件,可能会因为父组件的事件处理函数还未定义好而导致事件丢失