Saltar al contenido

ngx-bootstrap ¿Cómo abrir un modal desde otro componente?

No busques más por todo internet ya que has llegado al espacio perfecto, poseemos la solución que quieres encontrar y sin complicaciones.

Solución:

Si está intentando abrir un componente modal desde otro componente, esta es la forma correcta de hacerlo con ngx-bootstrap:

import  Component  from '@angular/core';
import  BsModalService  from 'ngx-bootstrap/modal';
import  BsModalRef  from 'ngx-bootstrap/modal/modal-options.class';

/* This is the Component from which we open the Modal Component */
@Component(
  selector: 'my-component',
  templateUrl: './service-component.html'
)
export class MyComponent 
  bsModalRef: BsModalRef;
  constructor(private modalService: BsModalService) 

  public openModalWithComponent() 
    /* this is how we open a Modal Component from another component */
    this.bsModalRef = this.modalService.show(ModalContentComponent);
  


/* This is the Modal Component */
@Component(
  selector: 'child-modal',
  template: `
    
    
    
  `
)
export class ChildModalComponent 
  constructor(public bsModalRef: BsModalRef) 

plantilla del Componente que está llamando al Modal:


Entonces deberías NO incluya el componente modal en la plantilla de esta manera:

 

Documento oficial:

https://valor-software.com/ngx-bootstrap/#/modals#service-component

If you use same component then, 

HTML #
    

    // for display purpose
    
      
    

COMPONENT #
import  BsModalRef  from 'ngx-bootstrap/modal/bs-modal-ref.service';
import  BsModalService  from 'ngx-bootstrap/modal';
import  ViewChild, ElementRef  from '@angular/core';

      bsModalRef: BsModalRef;
constructor(private modalService: BsModalService) 
      @ViewChild('template') elementView: ElementRef;
    openModalWithComponent()     
        this.bsModalRef = this.modalService.show(this.elementView);
        // this.bsModalRef.content.closeBtnName = 'Close';
        // (click)="bsModalRef.hide()"

    

Te mostramos las reseñas y valoraciones de los lectores

Si crees que te ha sido útil este artículo, sería de mucha ayuda si lo compartes con más entusiastas de la programación y nos ayudes a extender nuestra información.

¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 5)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *