2017-04-05 4 views
1

anzuzeigen Ich versuche, Objekt in Vorlage anzuzeigen. In der Konsole Users.email funktioniert, aber in der Vorlage funktioniert nicht. Ist es zwingend erforderlich, den Typ des Benutzerobjekts zu definieren? Wie man mit der Antwort richtig umgeht. In der Konsole werden Daten als Objekt von Benutzern angezeigt, von denen ich das erste Objekt als Daten [0] nehme.Wie json Objektparameter in angular 2 Vorlage Typoskript

import { Component, OnInit } from '@angular/core'; 
import { Router } from '@angular/router'; 
import { AuthenticationService } from './services/authentication.service'; 
import { EmployeeService }  from './services/emplyee.service'; 

@Component({ 
    template: `<h2>Welcome, {{ Users.email }}</h2> 
    <button class="btn btn-info bg-blue bg-darken-2 mt-1 min-width-150" (click)="logout()"><i class="icon-unlock2"></i> 
     Logout 
    </button>`, 
}) 
export class homeComponent implements OnInit { 

    Users: any; 

    constructor(private authenticationService: AuthenticationService, 
       private router: Router, private 
       emplyeeService: EmployeeService) { 
    } 

    ngOnInit() { 
     if (!localStorage.getItem('currentUser')) { 
      this.router.navigate(['/']); 
      console.log("Go Login"); 
     } else { 
      this.getUsers(); 
     } 
    } 

    logout() { 

     this.authenticationService.logout(); 
     this.router.navigate(['/']); 
    } 

    getUsers() { 
     this.emplyeeService.getAll() 
      .subscribe(
       (data: any) => { 
        console.log(data); 
        this.Users = data[0]; 
        console.log(this.Users.email); 
       }, 
       (error) => console.log(error) 
      ); 
    } 
} 
+0

Eine Randnotiz sicher müssen einzugeben. In TypeScript (und JavaScript) ist es üblich, camelCase für lokale Variablen und Feldnamen zu verwenden. Und PascalCase für Klassen und Typen zu verwenden. Also Benutzer -> Benutzer. – Hampus

Antwort

1

Ihre Verwendung Observable so die Daten wenig Verzögerung in der Zeit sein wird, so dass Sie opertaor ? wie unten

<h2>Welcome, {{ Users?.email }}</h2> 
+0

Gibt es eine andere Lösung? Wie muss ich den Typ des Benutzerobjekts definieren? – Vivek

+0

ja genau. Sie müssen ein Modell definieren. und verwende es dann in deiner Komponente – Aravind