因此,我有一个组件,该组件有时用作对话框参考,有时通常在对话框外使用。
例如:
现在有时我在聊天组件(不是对话框)中渲染此组件,有时我将自己作为对话框渲染。
现在,问题是我正在使用:
constructor(
private dialogRef: MdDialogRef<PaymentFormComponent>
) {
}
在构造函数中,因为我希望能够在事件发生时手动关闭对话框:
if (this.dialogRef) {
this.dialogRef.close();
}
现在,当我在对话框外使用组件时,这会引起问题,因为它是这样说的
ERROR Error: "No provider for MdDialogRef!"
是否可以仅选择性地提供此选项,并且不存在时为null?
答案 0 :(得分:2)
我认为@Optional装饰器会解决您的问题
@Optional()private dialogRef: MdDialogRef<PaymentFormComponent>
) {
}