Для создания двух разных модальных окон на одну кнопку в приложении Angular, вам понадобится использовать модуль или библиотеку, которая предоставляет функциональность модальных окон, например, ng-bootstrap или ngx-materialize.
Вот пример использования ng-bootstrap:
1. Установите ng-bootstrap в ваш проект:
npm install @ng-bootstrap/ng-bootstrap
2. Импортируйте необходимые модули в вашем модуле Angular:
import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';
3. В компоненте, где находится кнопка, добавьте инжекцию зависимостей для сервиса NgbModal:
constructor(private modalService: NgbModal) {}
4. Создайте две переменных в вашем компоненте, которые будут отвечать за модальные окна:
modalRef1: NgbModalRef; modalRef2: NgbModalRef;
5. В шаблоне компонента добавьте кнопку и привяжите к ней событие клика, которое будет вызывать функцию для открытия соответствующего модального окна:
<button (click)="openModal1()">Открыть модальное окно 1</button>
6. В компоненте определите функцию для открытия модального окна 1:
openModal1() { this.modalRef1 = this.modalService.open(ModalContentComponent1); this.modalRef1.result.then((result) => { // Выполнить действие после закрытия модального окна }, (reason) => { // Выполнить действие при отмене закрытия модального окна }); }
7. Повторите шаги 5 и 6 для второго модального окна, подставив соответствующие переменные и компонент:
<button (click)="openModal2()">Открыть модальное окно 2</button>
openModal2() { this.modalRef2 = this.modalService.open(ModalContentComponent2); this.modalRef2.result.then((result) => { // Выполнить действие после закрытия модального окна }, (reason) => { // Выполнить действие при отмене закрытия модального окна }); }
8. Создайте отдельные компоненты для содержимого модальных окон (ModalContentComponent1 и ModalContentComponent2) и добавьте их в нужные модули вашего приложения.
Теперь при клике на кнопку будет открываться соответствующее модальное окно. Вы можете настроить содержимое каждого модального окна в соответствующих компонентах ModalContentComponent1 и ModalContentComponent2.
Это лишь пример, вы можете использовать другую библиотеку или модуль для работы с модальными окнами в Angular, однако, принцип останется примерно таким же - создайте модальные окна, привяжите их к кнопке и добавьте функцию для открытия каждого окна.