Угловое 6: Невозможно прочитать свойство "сброс" неопределенного
Я получаю ошибку при использовании сброса в моем методе. Я пытаюсь сбросить форму после сохранения изменений, но я получаю эту ошибку:
Это мой метод:
@ViewChild('editFrom')
editForm: NgForm;
constructor(
private route: ActivatedRoute,
private alertify: AlertifyService
) {}
ngOnInit() {
}
updateUser() {
console.log(this.user);
this.alertify.success('Profile Updated Successfully');
this.editForm.reset(this.user);
}
}
Эта форма HTML:
<form #editForm="ngForm" id="editForm" (ngSubmit)="updateUser()">
<h4>Description</h4>
<textarea name="introduction" rows="6" class="form-control" [(ngModel)]="user.introduction"></textarea>
<h4>Looking For</h4>
<textarea name="lookingFor" rows="6" class="form-control" [(ngModel)]="user.lookingFor"></textarea>
<h4>Interest </h4>
<textarea name="interests" rows="6" class="form-control" [(ngModel)]="user.interest"></textarea>
<h4>Location Details:</h4>
<div class="form-inline">
<label for="city">City:</label>
<input class="form-control" type="text" name="city" [(ngModel)]="user.city">
<label for="country">Country:</label>
<input class="form-control" type="text" name="country" [(ngModel)]="user.country">
</div>
</form>
Проблема заключается в том, что вы использовали <form #editForm="ngForm" id="editForm" (ngSubmit)="updateUser()">
в HTML файле
Прибывая в файл.ts, вы используете @ViewChild('editFrom')
и он должен быть @ViewChild('editForm')
На самом деле я не думаю, что вам нужно использовать ViewChild
чтобы editForm
. Поскольку вы можете передать его как аргумент методу updateUser
.
Передайте форму методу:
<form #editForm="ngForm" id="editForm" (ngSubmit)="updateUser(editForm)">
Затем получите его в методе updateUser
:
updateUser(editForm) {
console.log(this.user);
this.alertify.success('Profile Updated Successfully');
editForm.reset(this.user);
}