1. Install Angular Material (Optional)
If you want to use Angular Material for modals:
ng add @angular/material
2. Create a Modal Component
Generate a new component for the modal:
ng generate component modal
3. Add Modal Logic in the Modal Component
In modal.component.html:
<h2>Modal Content</h2>
<p>This is a modal popup!</p>
<button (click)="close()">Close</button>
In modal.component.ts:
import { Component, Inject } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
@Component({
  selector: 'app-modal',
  templateUrl: './modal.component.html',
})
export class ModalComponent {
  constructor(public dialogRef: MatDialogRef<ModalComponent>) {}
  close(): void {
    this.dialogRef.close();
  }
}
4. Open Modal on Button Click
In your main component (app.component.ts or others):
import { Component } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import { ModalComponent } from './modal/modal.component';
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
})
export class AppComponent {
  constructor(public dialog: MatDialog) {}
  openModal(): void {
    this.dialog.open(ModalComponent, {
      width: '300px',
      data: { message: 'This is a modal popup!' },
    });
  }
}
5. Add Button to Open Modal
In app.component.html:
<button (click)="openModal()">Open Modal</button>
6. Import MatDialogModule
Add MatDialogModule to your AppModule:
import { MatDialogModule } from '@angular/material/dialog';
@NgModule({
  declarations: [AppComponent, ModalComponent],
  imports: [BrowserModule, MatDialogModule],
  providers: [],
  bootstrap: [AppComponent],
  entryComponents: [ModalComponent],
})
export class AppModule {}
 Use Information{
<div class="modal-overlay" (click)="closeModal()">
  <div class="modal-content" (click)="$event.stopPropagation()">
    <h2>Pop-up Modal</h2>
    <p>Hi Welcome to Edureka</p>
    <button (click)="closeModal()">Close</button>
  </div>
</div>
    export class Angular_ModalComponent {
          @Output() close = new EventEmitter<void>();
          closeModal(): void {
            this.close.emit();
          }
}
}
        <button (click)="show()">Show Modal</button>
<app-angular-modal *ngIf="isVisible" (close)="hide()"></app-angular-modal>
export class AppComponent {
  isVisible= false;
  show() {
    this.isVisible = true;
  }
  hide() {
    this.isVisible = false;
  }
}