Проблема управления несколькими модами в одном угловом компоненте / контексте - PullRequest
1 голос
/ 15 мая 2019

Мне нужно управлять несколькими модалами, передавая пользовательские шаблоны в 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.Только с одним модалом на странице, нет проблем ..

Кто-нибудь с подобной проблемой?Буду очень признателен за любую помощь Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...