2017-03-17 49 views
0
import {Component, EventEmitter, Input, OnChanges,OnInit} from '@angular/core'; 
import {Observable} from 'rxjs/Rx'; 
import {Router} from '@angular/router'; 
import { LoginService } from '../../login/services/login.service'; 
import {User,SharedService} from '../../SharedService' 
@Component({ 
    selector: 'dashboard', 
    template: ` 
    <div class="container"> 
     <div class="row"> 
      <div class="col-md-10 col-md-offset-1"> 
       <div class="panel panel-default"> 
        <div class="panel-heading">Dashboard</div> 

        <div class="panel-body"> 
         You are logged in! <span>{{ this.user.email }} </span> 

        </div> 
       </div> 
      </div> 
     </div> 
    </div> 
` 
}) 
export class LogsComponent { 

user:User; 

constructor(ss:SharedService){ 
    this.user=ss.getUserDetail(); 
} 



} 

由于使用laravel及其{{}}模板等角度我需要创建在角模板和传递数据IM。我想要的是在我的模板中显示来自this.user.email的模板数据。任何建议我该怎么做?现在它的空白..但是当我显示在console log this.user我得到了用户的对象。如何在角度2中传递模板中的数据?

当我我console.log(this.user)得到这样的:

object isLoggedIn: trueuser: Object created_at: "2017-03-14 09:04:42"email: "[email protected]"id: 4name: "user"updated_at: "2017-03-14 09:04:42"__proto__: Object__proto__: Object 

但是,当我这样做:console.log(this.user.email)我得到不确定的。

这是我sharedService:

import {Component, Injectable } from '@angular/core'; 

export class User{ 
email:string; 
name:string; 
} 

@Injectable() 
export class SharedService{ 
    user:User; 
    setUserDetail(res){ 
    this.user=res; 
    } 
    getUserDetail(){ 
    return this.user; 
    } 
} 
+1

将'{{this.user.email}}'更改为'{{user.email}}',您无需告诉模板您是引用“this”,因为它是自动注入的。 – briosheje

+0

我试过,但它的空白..我没有得到anyhting – uzhas

+0

介意告诉什么** ss.getUserDetail()**返回? (对象键) – briosheje

回答

0

确保乌尔返回一个数组或JSON有所作为如果u返回JSON确保你的反应是使用方法res.JSON() 转换成JSON和如果u返回对象的数组,然后将其显示显示为你看到像一个数组访问它...

//这是乌拉圭回合的服务

 getHeroes(): Promise<Hero[]> { 
    return Promise.resolve(HEROES); 
    } 

//如何访问数据

heroes: Hero[]; 
    constructor (private heroService: HeroService) {} 
    ngOnInit() { this.getHeroes(); } 
    getHeroes() { 
    this.heroService.getHeroes() 
        .subscribe(
         heroes => this.heroes = heroes, 
         error => this.errorMessage = <any>error); 
    } 
+0

我需要那样做? – uzhas

+0

以及服务返回类型...什么是返回类型? –

+0

setUserData(data:any):void {th​​is.userData = data; } getUserData():any {return this.userData; } 但是,如果我说return this.userData.json()我得到一个错误 – uzhas