тернарный оператор для ngmodel, если значение не определено - PullRequest
1 голос
/ 25 мая 2020

У меня есть компонент angular, используемый в двух разных компонентах. Я привязываю входное значение к ngModel, но мне не нужно иметь никакого значения для привязки ngModel, когда использовать Пригласить, а когда использовать InviteAdmin.

<input [disabled]="readonly" type="text" class="form-control" [ngModel]="invite.mail.value">

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

[ngModel]="invite.mail.value ? invite.mail.value : invite.mail"

, но я получаю синтаксическую ошибку

Неперехваченная ошибка: ошибки синтаксического анализа шаблона

Как я могу сделать это?

Ниже показаны две мои модели

interface Invite {
  id: string;
  dep: string;
  stand: string;
  mail: string;
}

, а во втором компоненте ответ представляет собой объект, подобный этому

class ValueError {
  value: string;
  error?: string;

  constructor() {
    this.value = null;
    this.error = null;
  }
}
export class InviteAdmin{
  id: ValueError;
  dep: ValueError;
  stand: ValueError;
  mail: ValueError;

  constructor() {
    this.id= new ValueError();
    this.dep= new ValueError();
    this.stand= new ValueError();
    this.mail= new ValueError();
  }
}

1 Ответ

0 голосов
/ 25 мая 2020

Я не вижу проблем с отрывком

[ngModel]="invite.mail.value ? invite.mail.value : invite.mail"

Я уверен, что он должен работать. Если бы вы могли предоставить stackblitz с репро, мы могли бы вам помочь. Скорее всего ошибка не в этом месте, а рядом.

кстати, короче версия того же кода

[ngModel]="invite.mail.value || invite.mail"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...