【发布时间】:2018-01-11 04:53:32
【问题描述】:
我想使用 HttpClient 进行 API 调用并将响应映射到类(不是接口),我希望该类具有某些方法,我可以扩展并稍后在 HTML 视图中调用。
我不知道为什么这没有按预期工作,但似乎 HttpClient 无法将我的 json 映射到类。
我得到的错误是:
test is not a function
我正在尝试这样做:
用户.ts
export class User {
id: number;
first_name: string;
last_name: string;
groups: Group[];
test() {
return 'test';
}
}
Api.Service.ts
export class ApiService {
private base_url: String = environment.api;
constructor(private http: HttpClient) { }
public me() {
return this.http.get<User>(this.base_url + `user/me`);
}
}
html:
<ng-container *ngIf="user | async; else loading; let user">
{{user.test()}}
</ng-container>
<ng-template #loading>
loading...
</ng-template>
控制器:
export class UserController implements OnInit {
user: Observable<User>;
constructor(private api: ApiService) {}
ngOnInit() {
this.user = this.api.me()
}
}
【问题讨论】:
标签: javascript json angular typescript