typescript - Hur man anropar en händelse i en föräldrakomponent från en barnkomponent?


Jag har implementerat flikar där jag har ett formulär och en knapp i flik1. Jag har ett event i föräldrakomponenten som gör den nuvarande fliken inaktiv och nästa flik aktiv. Hur anropar man eventet i föräldrakomponenten från barnkomponenten?

  gotosecondtab(){
this.firsttabactive=false;
this.secondtabactive=true;
}

Detta är händelsen i föräldrakomponenten... Jag vill köra denna händelse från barnkomponenten

onSubmit(): void {  
console.log('you submitted value: ', this.myForm.value); 
//How to call the parent event here
}

Jag vill köra gotosecondtab() händelsen när jag kör onSubmit() händelsen...Någon, hjälp mig snälla

Svar #1

Du kan skapa ett anpassat event i din barnkomponent

@Component({
  selector: 'child',
  (...)
})
export class ChildComponent {
  @Output() myevent: EventEmitter;

  constructor() {
    this.myevent = new EventEmitter();
  }

  onSubmit(): void {  
    console.log('you submitted value: ', this.myForm.value); 
    this.myevent.emit();
  }
}

och registrera på det från föräldrakomponenten:

@Component({
  template: `
    <child (myevent)="gotosecondtab()"></child>
  `,
   directives: [ ChildComponent ]
  (...)
})
export class ParentComponent {
  (...)

  gotosecondtab() {
  }
}

Hoppas det hjälper, Thierry

Relaterade artiklar