Создание всплывающего окна открытия и закрытия в Angular | Примеры кода

Метод 1: использование ng-bootstrap

<!-- app.component.html -->
<button (click)="openPopup()">Open Popup</button>
<!-- popup.component.html -->
<div class="popup" *ngIf="isOpen">
  <button (click)="closePopup()">Close</button>
  <!-- Popup content goes here -->
</div>
// app.component.ts
import { Component } from '@angular/core';
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  isOpen = false;
  openPopup() {
    this.isOpen = true;
  }
  closePopup() {
    this.isOpen = false;
  }
}

Метод 2: использование ng-bootstrap с TypeScript

<!-- app.component.html -->
<button (click)="open(content)">Open Popup</button>
<!-- popup.component.html -->
<ng-template #content let-modal>
  <div class="popup">
    <button (click)="modal.dismiss()">Close</button>
    <!-- Popup content goes here -->
  </div>
</ng-template>
// app.component.ts
import { Component } from '@angular/core';
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  constructor(private modalService: NgbModal) {}
  open(content) {
    this.modalService.open(content);
  }
}

Метод 3: использование диалогового окна Angular Material

<!-- app.component.html -->
<button (click)="openPopup()">Open Popup</button>
<!-- popup.component.html -->
<div class="popup">
  <button (click)="closePopup()">Close</button>
  <!-- Popup content goes here -->
</div>
// app.component.ts
import { Component } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import { PopupComponent } from './popup.component';
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  constructor(public dialog: MatDialog) {}
  openPopup() {
    const dialogRef = this.dialog.open(PopupComponent);
    dialogRef.afterClosed().subscribe(result => {
      console.log(`Dialog result: ${result}`);
    });
  }
}