Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

224
Views
Cómo comunicarse desde el cuadro de diálogo angular-material2 a su padre

Tengo un componente principal que abre un cuadro de diálogo angular-material2 Parent .

 let dialogRef = this.dialog.open(Child, { disableClose: true });

cuadro de diálogo abierto Child componente secundario tiene un botón 'Agregar'. Quiero notificar al componente 'Padre' si el usuario hace clic en el botón 'Agregar'.

¿Cómo es esto posible?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

EventEmitter para comunicarme con el contenedor principal

 // dialog component ... onAdd = new EventEmitter(); onButtonClick() { this.onAdd.emit(); } ...

y componente padre

 // parent component ... let dialogRef = this.dialog.open(Component); const sub = dialogRef.componentInstance.onAdd.subscribe(() => { // do something }); dialogRef.afterClosed().subscribe(() => { // unsubscribe onAdd }); ...

Aquí está la demostración

http://plnkr.co/edit/KbE3uQi2zMNaZlZEEG5Z

gracias a thomaspink

over 4 years ago · Santiago Trujillo Report

0

Su respuesta es correcta, pero esto ya se menciona en Angular2 Material Documentation de una manera simple, ya que puede subscribe al método afterClosed de dialog Reference (dialogRef como en el ejemplo) y obtendrá el valor de la opción seleccionada del argumento del método de subscribe (En nuestro resultado del caso).

 let dialogRef = this.dialog.open(DialogResultExampleDialog); dialogRef.afterClosed().subscribe(result => { this.selectedOption = result; });

Para obtener más detalles, puede visitar este enlace https://material.angular.io/components/component/dialog e ir a la pestaña Ejemplo e intentar comprender un ejemplo simple.

over 4 years ago · Santiago Trujillo Report

0

Con "@angular/material": "~7.0.0" componentInstance ya no existe en MatBottomSheetRef.

Ha sido reemplazado por instance

Implementación principal:

 let dialogRef = this.dialog.open(Component); const sub = dialogRef.instance.onAdd.subscribe(() => { // do something });
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!