Свойство error не существует для типа ElementRef Angular 6 - PullRequest
0 голосов
/ 23 октября 2018

У меня есть управляемая шаблоном форма с Angular 6. Компонент формы вложен в родительский компонент.В форме у меня есть два поля ввода, где мне нужно выдавать ошибки после запуска компонента (errors.required).Итак, у меня есть источник событий.

Я искал что-то похожее на ngInit (из AngularJs), чтобы я мог вызвать функцию, которая генерирует событие до родительского компонента, но не смог найти.Поэтому вместо этого мне нужно сделать это в компоненте.

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

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

@Component({ 
     selector: 'my-form',
     template: ... `<input ... #myInput="ngModel">` ....
})

export class myForm implements OnInit, AfterViewInit {
    @ViewChild('myInput') private myInput: ElementRef;

 ...
 ...

ngAfterViewInit() {
  console.log(this.myInput.errors);

Затем, когда я запускаю приложение, я получаю эту ошибку:

Свойство «ошибки» не существует наtype 'ElementRef <любой>

Я пытался сделать с @ViewChild('myInput', {read: ElementRef}) и console.log(this.myInput.nativeElement.errors);

Все еще получает это сообщение об ошибке.

Теперь, если я только консоль myInput, я не получу сообщение об ошибке, и в консоли я вижу ключ ошибки.Одна вещь, которую я заметил, это показывает в консоли: ngModel {... ... errors: {..

Поэтому я попытался также зарегистрировать myInput.ngModel.errors - все еще получаю ошибку

Есть идеи?

Спасибо.

...