【问题标题】:Using Component as dialog ref but not always使用组件作为对话框引用,但并非总是如此
【发布时间】:2020-01-19 09:50:48
【问题描述】:

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

例如:

  • 带有是或否答案的表单

现在,有时我会在聊天组件(不是对话框)中渲染此组件,有时我会将此组件本身渲染为对话框。

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

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

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

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

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

ERROR Error: "No provider for MdDialogRef!"

是否可以只提供可选的,当它不存在时让它为空?

【问题讨论】:

    标签: angular angular-material angular-components material-dialog


    【解决方案1】:

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

        @Optional()private dialogRef: MdDialogRef<PaymentFormComponent>
      ) {
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-31
      • 2019-11-29
      • 1970-01-01
      • 2019-07-01
      • 2015-07-01
      • 2013-10-20
      • 2019-12-07
      • 1970-01-01
      相关资源
      最近更新 更多