Я работаю с ng-bootstrap, и я хотел бы добавить модальное окно для повторного использования в библиотеку компонентов, которую я создал.
У меня есть шаблон
<p>
<ng-template #messageModal let-closeModal="close('Cross click')">
<div id="resultModal">
<div class="modal-header">
<h4 class="mt-3">{{header}}
</h4>
<button id="messageModalClose" type="button" class="close" aria-label="Close" (click)="closeModal">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
{{message}}
</div>
</div>
</ng-template>
</p>
и компонент
import { Component, OnInit, ViewEncapsulation, Input } from '@angular/core';
import { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';
@Component({
selector: 'ms-modal',
templateUrl: './ms-modal.component.html',
styleUrls: ['./ms-modal.component.scss'],
encapsulation: ViewEncapsulation.None,
})
export class MsModalComponent implements OnInit {
@Input() header: string;
@Input() message:string;
private _modalOptions: NgbModalOptions = {
backdrop: 'static',
keyboard: false,
size: 'lg',
centered: true
};
constructor(private modalService: NgbModal) { }
ngOnInit() {
}
OpenModal(_messageModal) {
this.modalService.open(_messageModal, this._modalOptions);
}
}
Я добавил @Inputs для заголовка и сообщения Моя библиотека компонентов строится нормально
В моем приложении, в которое я импортирую свою библиотеку компонентов, я добавил модальный тег
<ms-modal *ngIf="showModal==true" [header]="header" [message]="message">
</ms-modal>
Когда я устанавливаю showModal=true, ничего не происходит.
showModal:any = false;
this.showModal = "true";
Я думаю, я не уверен, как правильно подключить это, чтобы использовать мой модальный модуль из моей библиотеки компонентов в моих различных приложениях.
showModal
? Кроме того, в верхней части шаблона есть тег<p>
. Он закрыт? - person Frank Modica   schedule 09.10.2018