Итак, я пытаюсь избавиться от красных кривых в моем компоненте html здесь. Проблема в том, что TypeScript / VS Code не может видеть свойство unverifiedEmail
объекта errors
, потому что оно не является родным для AbstractControl. Я использую пользовательский валидатор, который генерирует свойство. Этот код здесь:
custom.validators.ts
import { AuthService } from './../auth/auth.service'
import { AbstractControl } from '@angular/forms'
import { Injectable } from '@angular/core'
@Injectable()
export class CustomValidators {
constructor (private authService: AuthService) { }
unverifiedEmail (control: AbstractControl): { [key: string]: boolean } | null {
if (this.authService.unverifiedEmails.some(email => email === control.value)) {
return { unverifiedEmail: true }
}
return null
}
}
У меня вопрос: как я могу «расширить» абстрактный элемент управления, чтобы включить возможность этого свойства unverifiedEmail
, чтобы моя IDE оставила меня в покое. Вне пользовательского валидатора и этого шаблона я не взаимодействую с интерфейсом AbstractControl или свойством errors
, поэтому у меня нет очевидной возможности импортировать расширенную версию AbstractControl (в обычном смысле расширения интерфейса). .
Спасибо, все.