自定义事件问题

我在一个prefab里面注册了一个事件this.node.on(‘test’, this.test,this);,然后在把这个prefab添加到一个组件上面,在这个组件里面用dispatchEvent派发消息this.node.dispatchEvent( new cc.Event.EventCustom(‘test’, true) );,为啥prefab的那个事件没有响应?

个人不推荐使用node.on 添加事件,我是自己写个事件管理处理

目测来看,你的情况是上层组件派发消息,子组件prefab响应此事件.
但是dispatchEvent是从下往上冒泡派发消息,适合子组件向父组件发消息,参考文档.

你可以在上层组件直接持有这个prefab,然后直接发消息,像这样:this.prefabComponent.node.emit('test', ...).