2017-12-06 1 views
0

Entschuldigung für mein Unverständnis in dieser Angelegenheit. also lass mich zu meinem Problem kommen. Ich erstelle ein Modell, das solche Informationen enthält.Anzeige Daten in Sicht, die durch Modell zuweisen

und dann importiere ich es zu meinem Controller mit meinem Service, um meine Daten zu bekommen.

import { Organization } from '../model/organization'; 
import { OrganizationService } from '../service/organization/organization.service'; 

so gesagt. Ich stelle mein Modell und meine Dienste ein, um meine Daten zu erhalten.

organization: Organization 


ngOnInit() { 
    this.orgSvc.getUserOrganization().subscribe(org => { 
    this.organization = org.data(); 
    console.log(this.organization); 
}) 
} 

wenn ich console.log die Daten. es wird alle Daten ausdrucken, die ich brauche.

{ 
    orgId: 'sdfasfasdfcv', 
    orgName: 'testOrg', 
    orgAddress: 'street test' 
} 

aber jedes Mal, dass ich es zu meiner Ansicht anzeigen. es bringt mir einen Fehler der Eigenschaft von undefined.

{{ organization.orgName }} 

was habe ich vermisst? Ich habe die Dokumentation von angular io gelesen. auch wenn ich eine neue Instanz erstelle. wie this.organizationData = new Organization('', '', '' ...) funktioniert es nicht.

+1

Versuch 'ngIf oder typsicher zu bedienen?' Betreiber –

+0

das passiert, weil durch die Zeit Angular die Ansicht rendert, Ihre App hat die Organisation nicht erhalten Daten noch, so ist es immer noch undefiniert – DerJP

Antwort

2

Verwendung typsichere ? Betreiber

{{ organization?.orgName }} 

Es ist, weil der Service-Aufruf nach dem DOM gemacht wird gemacht wird. Zum Zeitpunkt des Renderns ist das Objekt undefined, wenn Sie versuchen, auf seine Eigenschaften zuzugreifen, ist es nicht verfügbar. Die obige Fix wird verhindert, dass der anfängliche Fehler

Weitere Informationen read here

+0

ist wie Sie es gehackt. sind ihre Lösungen? und danke seine Arbeit –

+0

Cool ....... andere Lösung verwenden Sie ein '* ngIf', um die Objektverfügbarkeit zu überprüfen – Aravind