假设我们有一个应用程序,其路由器配置如下:
export const routes: Routes = [
{
path: 'supply', component: SupplyListComponent
},
{
path: 'supply/:id', component: SupplyComponent
}
];
每个供应商可以在其中包含一个或多个标识符。在Supplycomponent中,我们有一个分页器,它在卡片上逐个显示每个耗材ID,每次用户单击下一个按钮时都会更改URL。示例:
{
"supply1": [id_1],
"supply2": [id_2, id_3, id_4]
}
如果按下Supply1,我们将转到'/ supply / id_1'。如果我们按下Supply2,我们将移至'/ supply / id_2',然后可以使用分页器在ID之间进行更改。
我们希望通过两种方式访问此SupplyComponent:从位置'/ supply'和另一个应用程序访问。
有什么问题?如果要从另一个应用程序转到'/ supply / id_3',则需要使用ActivatedRoute,获取该ID并从API检索信息。但是,我们仅显示id_3信息,而不显示Supply2的所有信息。
如果用户来自'/ supply'或其他应用程序,有什么方法可以“检测”?我一直在寻找类似的问题,但都不满足我的需求。
提前感谢
您应该检查Location服务getState()
,可以在其中检索history.state
对象,该对象包含先前的URL。