我不能理解这个错误,为什么它不允许我将数据发布到用户数组,这样我就可以从html访问它了?
这就是组件
export class Service1Component implements OnInit {
selectedUser: User;
users: Array<User>;
constructor(private _userService: UserService) { }
ngOnInit() {
this._userService.getUsers()
.subscribe(resUserData => {
this.users = resUserData
});
}
onSelectUser(user:any){
this.selectedUser = user;
}
}
这是我想要订阅的服务
export class UserService {
private _getUrl = '/api/users'
constructor(private _http: Http) { }
getUsers(){
return this._http.get(this._getUrl)
.map((response: Response) => {
response.json();
})
}
}
发布于 2018-07-23 03:39:12
您错过了从您的函数返回,该函数在组件中被视为void
。
getUsers(){
return this._http.get(this._getUrl)
.map((response: Response) => {
return response.json(); // add return statement
})
}
发布于 2018-07-23 03:40:57
get answers方法不会返回任何内容,因为map函数不会返回。您甚至不需要映射函数,因为“新的”HttpClient
会自动执行此操作。尝尝这个
getUsers() {
return this._http.get(this._getUrl);
}
发布于 2018-07-23 03:33:42
您应该在一个块中限定订阅的范围:
.subscribe(resUserData => {
this.users = resUserData;
});
https://stackoverflow.com/questions/51468613
复制相似问题