以编程角度2关闭组件对话框

时间:2019-01-22 07:01:56

标签: angular modal-dialog

在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引用,此错误就会消失,但是我无法以编程方式关闭对话框。

有什么办法解决此错误或以编程方式关闭对话框?

0 个答案:

没有答案