Я использую виджеты Bootstrap и пытаюсь создать полноэкранный модальный режим (верхний колонтитул вверху, нижний колонтитул внизу и прокрутка тела в середине). Я легко могу сделать это с помощью простого HTML, как описано здесь:
https://www.codeply.com/go/DLPXHfEIiS/bootstrap-4-full-screen-modal
Однако, как только я начинаю усложняться и хочу называть свой собственный компонент содержимым, он перестает работать. Компонент вложен на один уровень ниже модального контента, и я считаю, что именно это нарушает поток. Я пытаюсь следовать инструкциям, изложенным здесь:
https://ng -bootstrap.github.io / # / компоненты / модальные / примеры # компонент
Даже в этом примере выше вы можете проверить его и увидеть, что компонент вложен в div модального содержимого.
Эффект (при попытке перейти в полноэкранный режим с использованием метода, указанного в первой ссылке выше), заключается в том, что все модальные, модальные диалоги и модальные контенты ДОЛЖНЫ работать в полноэкранном режиме. Тем не менее, вложенный компонент в пределах модальных размеров компонента к содержимому, несмотря на мои попытки стилизовать его поведение.
Какую очевидную вещь я здесь упускаю? Заранее спасибо и счастливой пятницы.
:: РЕДАКТИРОВАТЬ, ЧТОБЫ ИЗМЕНИТЬ ОГРАНИЧЕНИЯ В КОММЕНТАРИИ ::
CSS
.gr-modal-full .modal-dialog {
min-width: 100%;
margin: 0;
}
.gr-modal-full .modal-content {
min-height: 100vh;
}
.TS ВЫЗЫВАЯ КОМПОНЕНТ
const journalPopup = this.modalService.open(
JournalPopupComponent,
{windowClass: 'gr-modal-full', backdrop: false});
journalPopup.componentInstance.journal = this.journal;
КОМПОНЕНТ
import {Component, Input, OnInit} from '@angular/core';
import {NgbActiveModal} from '@ng-bootstrap/ng-bootstrap';
import {HttpClient} from '@angular/common/http';
@Component( {
selector: `
<div class="modal-header"></div>
<div class="modal-body"></div>
<div class="modal-footer"></div>
`,
templateUrl: './journal.popup.component.html',
styleUrls: ['./journal.popup.component.scss']
})
export class JournalPopupComponent implements OnInit {
@Input() journal: any;
constructor(public modal: NgbActiveModal) {}
ngOnInit(): void {
}
}