1

所以我有一个组件,它有时用作对话框引用,有时通常在对话框之外使用。

例如:

  • 带有是或否答案的表格

现在有时我在聊天组件(不是对话框)中渲染这个组件,有时我把这个组件本身渲染为一个对话框。

现在,问题是我正在使用:

  constructor(
    private dialogRef: MdDialogRef<PaymentFormComponent>
  ) {
  }

在构造函数中,因为我希望能够在事件发生时手动关闭对话框:

    if (this.dialogRef) {
      this.dialogRef.close();
    }

现在,当我在对话框外使用组件时,这会导致问题,因为它说这个

ERROR Error: "No provider for MdDialogRef!"

是否可以仅提供此选项并在它不存在时将其设置为空?

4

1 回答 1

2

我认为@Optional 装饰器会解决你的问题

    @Optional()private dialogRef: MdDialogRef<PaymentFormComponent>
  ) {
  }
于 2019-09-18T12:36:30.037 回答