在同一角度分量/上下文中管理多个模态时出现问题

时间:2019-05-15 10:39:36

标签: angular ngx-bootstrap

我需要管理通过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长调用引起的无限警告。 页面中只有一个模式,没有问题。

有人遇到类似问题吗? 我真的很感谢任何帮助 预先感谢

0 个答案:

没有答案