Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

218
Vistas
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?

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

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

about 4 years ago · Santiago Trujillo Denunciar

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.

about 4 years ago · Santiago Trujillo Denunciar

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 });
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda