Estoy trabajando con el gráfico de Apex y el gráfico está en el segundo componente. Necesito llamar a una función para alternar algunas series en el segundo componente desde el primer componente. Puedo llamar a esa función ahora, pero cuando trato de llamar al gráfico dentro de la suscripción, no está definido. Sin embargo, si llamo a ese gráfico en ngAfterViewInit(), el gráfico es correcto. Entonces, ¿alguien podría sugerirme alguna idea para acceder al gráfico dentro de la suscripción?
Segundo componente:
export class DashboardComponent implements OnInit { @ViewChild("chart") chart!: ChartComponent; constructor(public servic: MainService, private spinner: NgxSpinnerService, private router: Router) { this.servic.receiveMessage().subscribe(message => { this.toggle(message) }) } public toggle(state: string) { console.log(this.chart); } }su archivo de servicio se llamará más tarde, es por eso que su "mensaje" para suscribirse no está definido, mueva su servicio a OnInit () desde el constructor () ...
constructor(public servic: MainService, private spinner: NgxSpinnerService, private router: Router) {} ngOnInit(){ this.servic.receiveMessage().subscribe(message => { this.toggle(message) }) } public toggle(state: string) { console.log(this.chart); }