【发布时间】:2020-02-27 22:25:06
【问题描述】:
很简单的问题。 这是服务代码:
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { User } from './user';
@Injectable()
export class UserService {
private _url = "https://jsonplaceholder.typicode.com/users";
constructor(private _httpClient: HttpClient) {
}
getUser(id: string){
return this._httpClient.get<User>(this._url + '/' + id);
}
}
getUser 方法按我的预期返回用户的 Observable。
我想像这样在组件中获取用户对象:
{ id:1,姓名:“a”,电话:“b”,电子邮件:“c”,
地址:{街道:“d”,套房:“e”,城市:“f”,邮政编码:“g”} }
这是 user.ts 代码。
export class Address {
street: string;
suite: string;
city: string;
zipcode: string;
}
export class User {
id: number;
name: string;
phone: string;
email: string;
address = new Address();
}
当我从组件调用服务时,我从 jsonplaceholder 获取整个用户对象,而不是从我的 user.ts 代码中获取用户对象。 我的组件代码:
import { Component, OnInit } from '@angular/core';
import { UserService } from './user.service';
import { Router, ActivatedRoute } from '@angular/router';
@Component({
selector: 'newuserform',
templateUrl: './newuser-form.component.html',
providers: [UserService]
})
export class NewUserFormComponent implements OnInit {
constructor(
private _service: UserService,
private _router: Router,
private _route: ActivatedRoute) { }
ngOnInit(){
let id = this._route.snapshot.paramMap.get('id');
this._service.getUser(id)
.subscribe(
user => console.log(user);
);
}
}
【问题讨论】:
-
console.log(user)打印什么?
标签: angular typescript