可以手动将上下文传递给子组件。在AggregationStage中,我们可以使用getContext()方法获取传递的上下文,然后将它们放到cellRendererParams中,以便将其传递给cellRenderer。接下来,在子组件中,可以从输入中获取这些参数。
代码示例:
在AggregationStage中:
export class AggregationStage implements IAggFunc {
params: any;
constructor() {
}
createContext(params): any {
let context = { count: 0 };
return context;
}
init(params: any): void {
this.params = params;
// Set up context in renderer params
const rendererParams = params.column.getColDef().cellRendererParams;
rendererParams.context = this.getContext();
}
createAggFunc(): any {
...
}
...
}
在cellRenderer中:
export class CustomRenderer implements ICellRendererAngularComp {
private context: any;
constructor() {
}
agInit(params: any): void {
this.context = params.context;
}
refresh(params: any): boolean {
return true;
}
...
}