Передача логического значения в Angular Диалог приводит к ошибке, но работает - PullRequest
0 голосов
/ 26 февраля 2020

У меня странная проблема: когда я пытаюсь передать логическое значение в компонент диалога, компилятор выдает мне сообщение об ошибке, утверждая, что свойство не существует в типе DialogData. Тем не менее, реальная производительность моего приложения правильная, что говорит о том, что оно действительно работает. Как я могу устранить эту ошибку?

Вот мой код:

Component.ts:

openDialog(questionnaire: Questionnaire): void {
  const dialogRef = this.dialog.open(DialogExample, {
    width: '450px',
    data: {openFormat: questionnaire.openFormat,
         question: questionnaire.questions[this.index].phrase}
  })
}

HTML

    <div class="container" *ngIf="!data.openFormat">
      <p>{{data.question}}</p>
      <div mat-dialog-actions>
        <button mat-button [mat-dialog-close] cdkFocusInitial>Ok</button>
      </div>
      </div>
      <div class="container" *ngIf="data.openFormat">
        <p>{{data.question}}</p>
    </div>

Кнопка отображается, как и ожидалось, только в том случае, если data.openFormat имеет значение false.

Error code

Greetings:)

1 Ответ

0 голосов
/ 26 февраля 2020

Я обнаружил проблему, извините.

Я скопировал пример из стекаблиц в диалоговом окне do c, и интерфейс находился сверху:

export interface DialogData {
    data: string
}

Теперь, очевидно, мне просто нужно было добавить свойство с openFormat к этому интерфейсу, и ошибка исчезла.

Спасибо за ваше внимание, ребята.

...