我收到了“无法读取null的属性'markAsPristine'”错误,这是完全意外的,没有任何意义。这在99%的时间内都有效,但是在极少数情况下,我在markAsPristine上收到空引用错误。我不知道在那条线上它怎么可能为空。有什么想法吗?
我用以下错误标记了这一行。但是,如果您遵循该代码,则该行为空应该是不可能的。只需遵循下面的代码即可。
这是我的代码。
var parent = this;
this._contactService.saveContact(this.subscriberCode, this.contactId, {
firstName: this.pageForm.controls.firstName.value, /* This line works, so pageForm is not null here */
lastName: this.pageForm.controls.lastName.value,
address1: this.pageForm.controls.address1.value,
address2: this.pageForm.controls.address2.value,
city: this.pageForm.controls.city.value,
state: this.pageForm.controls.state.value,
zipCode: this.pageForm.controls.zipCode.value
})
.subscribe(response => {
parent.pageForm.markAsPristine(); /* this is where we get the error */
this.messageAlert = 'Changes have been saved';
}, (respError: HttpErrorResponse) => {
this.messageAlert = this._errorReportService.formatResponseError(respError, `savePage()`);
});