关于事件传递的疑问

场景如下。存在三个文件,A.ts B.ts C.ts
A类使用装饰器定义以及引入了B类 ,B类继承Component类。重点在于C类,C类并不是直接继承Component类。而是继承B类。

伪代码如下:
A.ts
import {B} from “./B”;

@property(B)
public B: B= null;

onLoad() {
this.B.node.on(event,()=>{}, this);
}
C.ts

start(){
// this.node.parent.emit(event);
this.node.emit(event);
}

如上。在C类中发射事件。A类中并不能接收到,使用C类注释中的代码,可以正确接收到。

在C类中使用this.node也就是当前节点发射事件是不能往上传递的吗?如果是这样,如果继承关系很复杂,比如D类继承C类,E类继承D类。之后的每个类发射事件都需要嵌套更多的parent才能保证A类中的代码能正确接收到事件。

这个问题该如何破

直接使用mitt事件管理器,全局来的,用tools-javascript中的CEvent也是一样