Мне нужно управлять несколькими модалами, передавая пользовательские шаблоны в Angular ..
Я создал универсальный класс BaseModal для наследования от моих модальных компонентов.
export abstract class BaseModal implements OnInit {
private modalRef: BsModalRef;
private options: BaseModalOptions;
protected modalTemplate: TemplateRef<any>;
protected title: string;
protected constructor(protected modalService: BsModalService)
{
}
ngOnInit() {}
show(message?: string, redirectTo?: string) {
if (message === undefined) {
this.modalRef = this.modalService.show(this.modalTemplate, this.options);
} else {
// Handles text messages
}
}
abstract open(options?: any);
close() {
this.modalRef.hide();
}
}
Таким образом, мои компоненты расширяют BaseModalнапример:
export class ModalComponent extends BaseModal {
@ViewChild('templateName') protected modalTemplate: TemplateRef<any>;
}
Если в других моих компонентах страницы есть более одного из этих «модальных» экземпляров компонентов, расширяющих BaseModal, то при открытии одного из них при открытии происходит заметное замедление,модал открывается примерно через 10-20 секунд!В консоли я вижу бесконечные предупреждения о нарушениях, вызванных длительными вызовами setTimeout.Только с одним модалом на странице, нет проблем ..
Кто-нибудь с подобной проблемой?Буду очень признателен за любую помощь Заранее спасибо