Angular 从api读取的角度包装方法
这是我在包装之前的服务方法Angular 从api读取的角度包装方法,angular,typescript,asp.net-core,Angular,Typescript,Asp.net Core,这是我在包装之前的服务方法 getMenusByUserId(userId: string): Observable<MenuData[]> { var request = { userId: userId }; var result= this.httpClient.post<MenuData[]>(environment.apiUrl + '/Menu/GetMenusByUserId', request); retu
getMenusByUserId(userId: string): Observable<MenuData[]> {
var request = { userId: userId };
var result= this.httpClient.post<MenuData[]>(environment.apiUrl + '/Menu/GetMenusByUserId', request);
return result;
}
如何读取所有菜单和相同的需要写入组件。请建议这是可以观察到的。Observalbe没有.data属性 可观测的发射值有.个数据
observable.subscribe(x => {
this.idontknow = x.data
});
或者,如果它是一个数组,那么数组的元素具有.data
并将httpClient的post请求类型更改为post它是可观察的。Observalbe没有.data属性 可观测的发射值有.个数据
observable.subscribe(x => {
this.idontknow = x.data
});
或者,如果它是一个数组,那么数组的元素具有.data
并将httpClient的post请求类型更改为posthttpClient return observable,这样您就需要订阅它,并在管道的帮助下,在rxjs操作符的帮助下修改数据流,从而使结果返回observable
getMenusByUserId(userId: string): Observable<Result<MenuData[]>> {
var request = { userId: userId };
var result= this.httpClient.post(environment.apiUrl + '/Menu/GetMenusByUserId', request).pipe(map( res => Result<res>));
return result;
}
httpClient返回observable,所以您需要订阅它,并在管道的帮助下,在rxjs操作符的帮助下修改数据流,以便结果返回observable
getMenusByUserId(userId: string): Observable<Result<MenuData[]>> {
var request = { userId: userId };
var result= this.httpClient.post(environment.apiUrl + '/Menu/GetMenusByUserId', request).pipe(map( res => Result<res>));
return result;
}
你试过从
getMenusByUserId
返回Observable
吗?我是angular的新手。但是我试过相同的。但是vs代码显示错误,比如scren shot。问题中的代码更新了没有MenuData[]
我的意思是MenuData[]
没有[/code>,因为它们已经包含在数据中:T[]代码>。您也应该对post行执行同样的操作:this.httpClient.post
。谢谢。但这是我的错误。现在更新了interdace…显示相同的错误您是否尝试过从getMenusByUserId
返回Observable
?我是angular新手..但我尝试过相同..但是vs代码显示错误,如scren shot..问题中的代码更新了没有MenuData[]
,因为它们已经包含在数据中:T[];
。您也应该对post行执行相同的操作:this.httpClient.post
。谢谢。但这是我的错误。现在更新了interdace…显示了相同的错误
this.menuDataService.getMenusByUserId(userId).subscribe(resp => {
console.log('your required response : ', resp)
});