在Angular 2应用程序中,我有一个要用作屏幕以及对话框/弹出窗口的组件。 这是我的HTML
<app-dialog [(visible)]="showDialog">
<div>
<ng-template #container>
</ng-template>
</div>
<div *ngIf="!showDialog">
{{removeComponent(popUpComponent)}}
</div>
</app-dialog>
这是我的TS文件代码,我在其中添加一个组件作为子组件...
this.showDialog = !this.showDialog;
this.popUpComponent = AdmissionIntimationComponent;
this.addComponent(this.popUpComponent);
在我的AdmissionIntimationComponent
中,我要在构造函数中添加对此组件的引用;
constructor(private dialogRef: DialogComponent)
现在,当我打开此AdmissionIntimationComponent
作为弹出窗口时,它工作得很好,但是当我将其作为单独的屏幕打开时,它给了我这个错误
错误错误:未捕获(承诺):错误:StaticInjectorError(AppModule)[AdmissionIntimationComponent-> DialogComponent]: StaticInjectorError(平台:核心)[AdmissionIntimationComponent-> DialogComponent]: NullInjectorError:DialogComponent没有提供程序!
如果我在构造函数中不使用Dialog
引用,此错误就会消失,但是我无法以编程方式关闭对话框。
有什么办法解决此错误或以编程方式关闭对话框?