如何在angular 2中传递模板中的数据?
但是当我这样做时:如何在angular 2中传递模板中的数据?,angular,Angular,但是当我这样做时:console.log(this.user.email)我没有定义 这是我的共享服务: object isLoggedIn: trueuser: Object created_at: "2017-03-14 09:04:42"email: "user@user.com"id: 4name: "user"updated_at: "2017-03-14 09:04:42"__proto__: Object__proto__: Object 如果返回JSON,请确保返回的数组或JS
console.log(this.user.email)
我没有定义
这是我的共享服务:
object isLoggedIn: trueuser: Object created_at: "2017-03-14 09:04:42"email: "user@user.com"id: 4name: "user"updated_at: "2017-03-14 09:04:42"__proto__: Object__proto__: Object
如果返回JSON,请确保返回的数组或JSON会有所不同。请确保使用res.JSON()方法将响应转换为JSON 若你们返回一个对象数组,那个么它会显示为你们看到的,像数组一样访问它 //这是你的服务
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;
}
}
getHeroes():承诺{
回报承诺。决心(英雄);
}
//这是您访问数据的方式
getHeroes(): Promise<Hero[]> {
return Promise.resolve(HEROES);
}
英雄:英雄[];
构造函数(私有heroService:heroService){}
ngOnInit(){this.getHeroes();}
getHeroes(){
this.heroService.getheros()
.订阅(
英雄=>这个。英雄=英雄,
error=>this.errorMessage=error);
}
将{{this.user.email}}
更改为{{user.email}}
,您不需要告诉模板您引用的是“this”,因为它是自动注入的。我尝试过,但它是空的。我不知道ss.getUserDetail()返回什么?(对象键)你确定用户不是空的吗?我现在更新了我的问题,我需要在哪里更新?好吧,看看服务返回类型…什么是返回类型??setUserData(data:any):void{this.userData=data;}getUserData():any{return this.userData;}但是如果我说return this.userData.json()我收到一个错误我更新了我的问题,我在哪里使用sharedService使用web服务或演示数据设置数据单元??
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);
}