Альтернатива передаче параметра геттеру в компоненте Angular - PullRequest
0 голосов
/ 01 декабря 2019

У меня есть несколько элементов управления в моем компоненте, состоящих из метки av, ввода и поля проверки, как показано ниже.

form: FormGroup;
get c1_invalid(): boolean {
  const control = this.form.get("c1");
  return !control.valid && !control.pristine;
}
get c2_invalid(): boolean {
  const control = this.form.get("c2");
  return !control.valid && !control.pristine;
}

В итоге я получу много кода, иЕдинственное отклонение между получателями - это имя элемента управления, извлекаемого из формы. Я не могу передать идентификатор в качестве параметра.

Что было бы наилучшим решением для его обработки?

1 Ответ

1 голос
/ 02 декабря 2019

Вы можете создать для него простой канал:

@Pipe({ name: 'isInvalidControl'})
export class SafeHtmlPipe implements PipeTransform  {
  transform(control: FormControl): boolean {
    return !control.valid && !control.pristine;
  }
}

Использование:

*ngIf="form.get('c1') | isInvalidControl"

Если вам известно о производительности вашего приложения, вам следует избегать вызовов методов в шаблонах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...