Я использую динамические c формы для извлечения значений из моей формы, но я получаю неопределенное определение, когда консоль регистрирует этот объект, который я создаю из значений в этой форме - PullRequest
0 голосов
/ 27 апреля 2020
@ViewChild('studentForm', {static: false}) studentForm: NgForm
students: Student[];

updatedStudent ={
  Student_ID: 0,
  Student_Name: '',
  Student_Number: '',
  Student_Surname: ''
 }

onUpdateStudent(studentForm: NgForm){
this.editMode = false;
const updatedStudentValue = studentForm.value
console.log(updatedStudentValue)
const updatedStudent = new Student(
  this.updatedStudent.Student_ID,
  updatedStudentValue.updatedStudent.Student_Name,
  updatedStudentValue.updatedStudent.Student_Number,
  updatedStudentValue.updatedStudent.Student_Surname
)
console.log(this.updatedStudent)

}

Когда я консольный журнал updatedStudentValues, я получаю объект моих студентов, но когда я пытаюсь создать объект для моей модели Student, он говорит неопределенное Student_Name, как я могу это исправить.

Любая помощь будет высоко ценится!

export class Student {
 public Student_ID: number;
 public Student_Name: string;
 public Student_Number: number;
 public Student_Surname: string;

 constructor(
Student_ID: number,
Student_Name: string,
Student_Number: number,
Student_Surname: string
) {
this.Student_ID = Student_ID;
this.Student_Name = Student_Name;
this.Student_Number = Student_Number;
this.Student_Surname = Student_Surname;
}
}

my error

Спасибо за любую помощь, я новичок с angular.

Ответы [ 2 ]

1 голос
/ 27 апреля 2020

Вы пытаетесь получить доступ к Student_Name в свойстве updatedStudent, которого нет в updatedStudentValue. Просто получите к нему доступ следующим образом:

updatedStudentValue.Student_Name
1 голос
/ 27 апреля 2020

this.updated студент отличается от const updatedStudent. Вы должны создать объект, как показано ниже:

this.updatedStudent = new Student(
  this.updatedStudent.Student_ID,
  updatedStudentValue.updatedStudent.Student_Name,
  updatedStudentValue.updatedStudent.Student_Number,
  updatedStudentValue.updatedStudent.Student_Surname
)
console.log(this.updatedStudent)

, используя const updatedStudent, вы создаете новый объект, который имеет область видимости блока и не имеет никакого отношения к this.updatedStudent

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