【发布时间】:2016-07-01 01:30:29
【问题描述】:
我有这个简单的组件
import {Component} from 'angular2/core';
import {RouterLink, RouteParams} from 'angular2/router';
import {Http, Response, Headers} from 'angular2/http';
import {User} from '../../models/user';
import 'rxjs/add/operator/map';
@Component({
template: `
<h1>{{user.name}} {{user.surname}}</h1>
`,
directives: [RouterLink],
})
export class UserComponent {
user: User;
constructor(private routeParams: RouteParams,
public http: Http) {
this.user = new User();
this.http.get('http://localhost:3000/user/' + this.routeParams.get('id'))
.map((res: Response) => res.json())
.subscribe((user: User) => this.user = user);
console.log(this.user);
}
}
为什么subscribe 不将响应转换为完整的User 对象。当我记录user 变量时,我的控制台说User {_id: undefined, name: undefined, surname: undefined, email: undefined}。但尽管如此,绑定到视图中的.name 和.surname 是有效的..
这里发生了什么?用户实际存储在哪里?
【问题讨论】:
-
我看了这篇文章也不错stackoverflow.com/questions/63964124/…
标签: typescript angular