Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 从api读取的角度包装方法_Angular_Typescript_Asp.net Core - Fatal编程技术网

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请求类型更改为post

httpClient 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)
});