2017-12-05 2 views
0
export class DashboardComponent implements OnInit {  
@ViewChild('modal') modal: ModalComponent; 
     dashboards: IDashboard[]; 
     dashboard: IDashboard;  
    constructor(private fb: FormBuilder, private _dshboardService: DashboardService, private router: Router) { 
       var sesssion = sessionStorage.getItem('EmpDetail'); 
       var ses = JSON.parse(sesssion); 
       var EmpNo = ses[0].EmpNumber; 
       var CompanyCode = ses[0].CompanyCode; 
       this.dashboard = {}; 
       this.dashboard.EmpName = ses[0].EmpName; 
       this.dashboard.EmpNumber = ses[0].EmpNumber; 
      } 
} 

dies zeigt die unten Fehler auf der Linie this.dashboard = {};Was bedeutet der Fehler in Winkel 2?

Fehler TS2322 Typ '{}' ist nicht übertragbar auf den Typ 'IDashboard'.
Eigenschaft 'EmpName' fehlt im Typ '{}'.

Ich brauche den Wert auf die Eigenschaften des Armaturenbretts Modell und binden das gleiche in HTML-Komponente

Unten ist mein IDashboard zuweisen:

export interface IDashboard { 
    EmpName: string, 
    EmpNumber: string, 
    EmailId: string, 
    FirstName: string, 
    LastName: string, 
    Gender: string, 
    Program:string 
} 
+0

Können Sie die Klasse "IDashboard" anzeigen? –

+0

@SurajRao Ich hatte meine Frage mit der Klasse 'IDashboard' aktualisiert. Überprüfen Sie es jetzt –

Antwort

1

Sie müssen es mit leer deklariert und initialisiert Objekt innerhalb des Konstruktors oder ngOninit.

Sie müssen das Dashboard in der Komponente erklärt haben, wie,

const dashboard: Dashboard= { param1: "", param2: ""...etc}; 
+0

, wo ich diesen Code –

+0

über Konstruktor verwenden muss! – Sajeetharan

+0

ich bekomme Fehler, wenn ich diesen Code über Konstruktor hinzufügen, warum ich gefragt habe.Folgende sind mein Fehler Build: Ein Klassenmitglied kann nicht das Schlüsselwort 'const' haben. Build: Doppelte Kennung 'Dashboard'. Build: Name 'Dashboard' kann nicht gefunden werden. –

2

Fehler gibt:

this.dashboard = {}; 

this.dashboard hat IDashboard geben, ich denke, es ist mindestens eine optionale Feld hat . Sie können also kein Objekt setzen, ohne diese erforderlichen Felder zu setzen. Etwas wie:

interface Person { 
    name: string; 
} 

const person = {} // Error 
const person1 = {name: 'Test'} // No Error 


interface Person1 { 
name?: string; //name is optional field 
} 
const person = {} // No Error