#angular #typescript
Вопрос:
Я не получаю undefined
для своего this.styleguideNotes.count
я устанавливаю его на длину объекта массива, а также устанавливаю значение 0 в классе экспорта.
тс
export class ArchiveAgentDialogComponent implements AfterViewInit{ private $modalDialogContainer: JQuery; private currentAgentInformations: AgentInformationModel; relatedTemplates: RelatedTemplatesModel; styleguideNotes: StyleGuideNoteModel; get isArchiveValid(): boolean { console.log(this.relatedTemplates.count); console.log(this.styleguideNotes.count); return (this.relatedTemplates.count == 0 ? true : false); } constructor( @Inject(ElementRef) private elementRef: ElementRef, @Inject(AgentManager) private agentManager: AgentManager, @Inject(FormBuilder) fb: FormBuilder) { this.agentForm = fb.group({ agentName: ["", Validators.compose([Validators.required, Validators.maxLength(128)])], tallmanStyleName: ["", Validators.maxLength(255)], brandNames: ["", Validators.maxLength(1024)] }); this.resetRelatedTemplatesModel(); this.resetStyleGuideNoteModel(); } private refreshStyleguideNoteModel() { console.log('refreshStyleguideNoteModel'); this.agentManager.getStyleGuideByAgentId(this.model.Id) .then(response =gt; { if (response.isSuccess) { var countKey = Object.keys(response.responseObject).length; this.styleguideNotes.count = countKey; this.styleguideNotes = response.responseObject; } else { console.log("Failed to complete the operation. Please contact administrator for assistance"); } }); } export class StyleGuideNoteModel { count = 0; StyleGuideNote: any[]; section: string; AgentType: string; }
Комментарии:
1. не могли бы вы объяснить подробнее или, по крайней мере, добавить весь код компонента. Насколько я понял, вы можете попробовать это:
styleguideNotes: StyleGuideNoteModel= new StyleGuideNoteModel();
и в своем классеStyleGuideNoteModel
добавьтеconstructor(){}