Использование компонента в качестве ссылки на диалог, но не всегда

Итак, у меня есть компонент, который иногда используется как ссылка на диалог, а иногда обычно используется вне диалога.

Например:

  • Форма с ответом да или нет

Иногда я визуализирую этот компонент внутри компонента чата (который не является диалогом), а иногда я визуализирую этот компонент сам по себе как диалог.

Теперь проблема в том, что я использую:

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

в конструкторе, так как я хочу иметь возможность вручную закрывать диалог при возникновении события:

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

Теперь это вызывает проблему, когда я использую компонент вне диалога, потому что он говорит это

ERROR Error: "No provider for MdDialogRef!"

Возможно ли, чтобы это было предоставлено только по желанию и было бы нулевым, когда оно не существует?

1 ответ

Решение

Я думаю, @Optional декоратор исправит вашу проблему

    @Optional()private dialogRef: MdDialogRef<PaymentFormComponent>
  ) {
  }
Другие вопросы по тегам