我需要管理通过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长调用引起的无限警告。 页面中只有一个模式,没有问题。
有人遇到类似问题吗? 我真的很感谢任何帮助 预先感谢