angular - 如何将我的 Typescript 中的 Id 传递给解析器?
问题描述
我试图弄清楚 Angular 如何使用 getById 服务。我从一开始就公开了一个 Rest Api 服务,它返回一个布尔值并检查一个项目是否在我最喜欢的 List 中:它获取一个元素的 id 作为参数。在我的前端,我为基本 Crud 操作使用 baseApi 服务,为每个请求使用解析器:所以我需要做的是如何将 id 从我的方法传递给解析器以及如何定义链接结构(URL )。
这是我的代码以便更好地理解:
- 我的 baseService 中的实际 getById:
getById(link, id:number){
this.header=this.createHeader();
return this.http.get(this.apiurl+link+id,this.header).map(this.extractData);
}
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<Item> {
return this.service.getById(item/isFavorite/1');
}
- 打字稿文件中的方法获取我需要将其 id 发送到解析器的项目:
checkItem(item : Item){
this.checkfav=this.route.snapshot.data.isfav;
/**
* checkfav is a bool that should m rest api defined in resolver return
*/
}
解决方案
route.params['id'];
如果您在当前激活的 url 中具有相同的 id,则可以直接从其他函数中获取它,而不是从其他函数中获取它。
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<Item> {
const id = route.params['id'];
return this.service.getById('item/isFavorite/' + id);
}
推荐阅读
- css - 这是什么境界?
- python - 我们可以在 h2o automl 中设置窗口大小来预测时间序列数据集吗?
- ios - 如果弱自我在 RxDataSource 函数中为零,如何正确返回带有重用标识符的 CollectionViewCell?
- snowflake-cloud-data-platform - 在雪花约束中使用强制
- android - “指定的孩子已经有一个父母。您必须首先在孩子的父母上调用 removeView()”我第二次创建 AlertDialog
- jenkins - 在 bitbucket 和 jenkins 中创建和配置 Webhook
- php - PHP 7.4。包含同名方法的类的实例化调用该方法
- python - 使用 selenium 在 div 中获取嵌入的 JSON 数据
- configuration - 检查前端库兼容性的工具?
- r - bquote 调用中的条件代码块?