【发布时间】:2018-04-02 16:05:43
【问题描述】:
我有一个通过以下方式定义为用户的类模型:
export class User {
private code: string;
get Code(): string {
return this.code;
}
public setCode($code: string) {
this.code = $code;
}
在主要组件中,我有一个这样的部分:
export class AppComponent {
title = 'app';
private $user: User;
constructor(private _http: HttpClient, private router: Router) {
this.loadUser();
}
public loadUser(): void {
this._http.post<User>(Global.url + '/user/show',
{}).subscribe(
data => {
if (null !== data) {
this.$user = data;
console.log(this.$user);
} else {
this.router.navigate(['/login']);
this.$user = null;
}
}
);
}
public get User(): User {
return this.$user;
}
}
要打开的页面对用户进行查询,服务器以json格式返回代码,并应将其与用户类映射。这是它返回的内容:
{…}
code: "B1039"
...
__proto__: Object { … }
但是如果我尝试通过属性“console.log(this.$user.Code)”访问这些值,这就是返回给我的结果:
undefined
也就是说,虽然在我的 IDE 中,变量 data 是 User Class 类型,但是访问的方法不起作用。
为什么返回的 json 没有转化为 User 对象?
我需要使用模型类而不是接口。
【问题讨论】:
标签: angular rest model httpclient