Свойство 'userForm' не существует для типа 'RootComponent' - PullRequest
0 голосов
/ 17 января 2020

Это мой компонентный класс, использующий Angular, по какой-то причине он не компилируется в первый раз с использованием npm start, но когда я обновляю sh или снова сохраняю файл, все нормально, и я могу просмотреть его на своем браузер. Я получаю ошибку:

ERROR in src/app/root/root.component.ts(14,12): error TS2339: Property 'userForm' does not exist on type 'RootComponent'.

Я смотрел на похожие вопросы, но ни один из них, похоже, не нашел решения моей проблемы. Вот класс:

import { Component, OnInit } from '@angular/core';
import { FormBuilder } from '@angular/forms';

@Component({
  selector: 'app-root',
  templateUrl: './root.component.html',
  styleUrls: ['./root.component.css']
})
export class RootComponent implements OnInit {

  constructor(private formBuilder: FormBuilder) {}

  ngOnInit() {
      this.userForm = this.formBuilder.group({
        firstName: [''],
        lastName: [''],
        email: [''],
        password: [''],
      });
    }

}

Ответы [ 2 ]

1 голос
/ 17 января 2020

проблема в том, что переменная userForm не определена в вашем компоненте, поэтому вы пытаетесь присвоить FormGoup в несуществующей переменной, добавление userForm: FormGroup; в начале класса должно решить проблему проблема:

import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';

@Component({
  selector: 'app-root',
  templateUrl: './root.component.html',
  styleUrls: ['./root.component.css']
})
export class RootComponent implements OnInit {
  userForm: FormGroup;
  constructor(private formBuilder: FormBuilder) {}

  ngOnInit() {
      this.userForm = this.formBuilder.group({
        firstName: [''],
        lastName: [''],
        email: [''],
        password: [''],
      });
    }

}
1 голос
/ 17 января 2020

Вы должны определить userForm в компоненте до присвоения значения

...