typescript - Tilldela null till interface i angular 4
jag har ett gränssnitt i angular4
interface StatusDetail {
statusName: string,
name: string
}
och jag har tilldelat några värden till det som
//angular Komponent
export class EditComponent implements OnInit{
statusDetail: StatusDetail;
ngOnInit() {
this.statusDetail.statusName = 'text Status';
this.statusDetail.name= 'text Name';
}
}
jag försöker återställa till standard null så här
SetNull() {
this.statusDetail = null
}
men det ger ett fel
Typ null kan inte tilldelas typen StatusDetail
hur kan jag göra detta?
Svar #1
Du behöver deklarera statusDetail som StatusDetail | null:
export class EditComponent implements OnInit{
statusDetail: StatusDetail | null;
ngOnInit() {
this.statusDetail.statusName = 'text Status';
this.statusDetail.name= 'text Name';
}
}
Svar #2
Du kan återställa/initiera ditt gränssnitt som nedan.
this.statusDetail = <StatusDetail>{};
Nu kommer objektet att ha standardvärdet. Du kan också sätta till undefined, varför null förresten? Varför inte
this.statusDetail = undefined ;
