gpt4 book ai didi

angular - 如何使用 Angular 路由解析器解析来自 api 的数据

转载 作者:行者123 更新时间:2023-12-02 17:06:06 25 4
gpt4 key购买 nike

我正在尝试使用 Angular 路由解析器在端点显示之前加载它,但我找不到解决方法如何将 API 的 url 作为参数传递到解析器中?由于某些独特的原因,我需要传入一个参数,这样我就无法在服务中传递 api。

这是我的服务

@Injectable()
export class HnService {
constructor(private http: HttpClient) {}

getTopPosts(endpoint) {
return this.http.get(endpoint);
}
}

这是我的解析器文件

@Injectable()
export class HnResolver implements Resolve<any> {
constructor(private hnService: HnService) {}

resolve() {
return this.hnService.getTopPosts(?);
}
}

最佳答案

如果您只想传递数据并在解析器中访问此数据,则可以在定义路径时使用 data 属性。

首先你的路线应该是这样的

 {
path: 'hn/:id',
component: HnDetailsComponent,
resolve: {
response: HnResolver
},
data:{
apiURL: 'my/api/url'
}
}

决心

@Injectable()
export class HnResolver implements Resolve<any> {
constructor(private hnService: HnService) {
}

resolve(route: ActivatedRouteSnapshot,
state: RouterStateSnapshot): Observable<any> {
return this.hnService.getTopPosts(route.data['apiURL']);
}
}

关于angular - 如何使用 Angular 路由解析器解析来自 api 的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48909365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com