У меня есть компонент List и Details в моем проекте Angular 7, и я могу открыть детали записи, щелкнув ссылку на странице List. Однако если я обновлю на той же странице сведений или открою ту же страницу сведений с помощью гиперссылки (например, открою ту же запись в списке в новой вкладке), Ошибка HTTP 404.0 - не найдена . Мой код, как показано ниже:
routing.module.ts:
const routes: Routes = [
{
path: 'user',
component: UserPanelComponent
children: [
{
path: 'dashboard',
component: UserDashboardComponent
},
{
path: 'issue/detail/:id',
component: IssueDetailComponent
}
]
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
1012 *
*
list.component.html:
<a [routerLink]="['/user/issue/detail/', row.Id]">{{ row.Title }</a>
details.component.ts:
export class DetailComponent {
constructor(private router: Router,
public route: ActivatedRoute) {
super();
this.id = this.router.getCurrentNavigation().extras.state.id; //get id
}
ngOnInit(): void {
/* I also try to use the following method in order to get id value. Both works,
but when refrehing page the code does not hit constructor or ngOninit blocks */
this.id = +this.route.snapshot.paramMap.get('id'); //get id
this.loadDetails();
}
loadDetails() {
if (this.id) {
// load details
}
}
}
Странным является то, что когда я щелкаю запись в компоненте List, передается параметр id и открывается соответствующая запись на странице Details. Но когда я щелкаю правой кнопкой мыши ту же запись и открываю ее на новой вкладке ИЛИ обновляю страницу на странице сведений, HTTP Error 404.0 - Not Found ошибка обнаружена. Я пытался применить много предложений, но ни одно из них не сработало. Есть идеи, чтобы решить эту проблему?