#angular #angular-ui-router
#angular #angular-ui-router
Вопрос:
Я хочу перейти к дочернему корню, но после 1 навигации URL меняется, но компонент не загружается, но если я обновляю URL, компонент загружается. Если я нахожусь в корне навигации, URL изменяется, но не загружается, если я не нахожусь в корне навигации, он загружается.
ссылки..
http://localhost:4000/project-details/16/project-details
http://localhost:4000/project-details/21/project-details
//when select an option navigate to project-details/id
goToProjectDetails(projectId: any) {
this.router.navigate(['project-details', projectId]);
}
project-details.component
ngOnInit() {
this.subscription = this.route.params.subscribe(() => {
this.getProject();
this.tableRender();
});
}
app.routers.ts
{
path: "project-details/:id",
children: [
{
path:'',
redirectTo: 'project-details',
pathMatch: 'full'
},
{ path: 'project-details', component: ProjectDetailsComponent },
{ path: 'translation', component: TranslationComponent },
{ path: 'env', component: EnvVariablesComponent },
{ path: 'urls', component: UrlsComponent },
]
,
component: ProjectDetailsMenuComponent,
data: {
id: "project.details",
}
...
Комментарии:
1. Вы пробовали
this.router.navigate(['/', 'project-details', projectId]);
?2. ДА. не работает. Я перепробовал много разных параметров навигации..
3. URL меняется (идентификатор проекта), но компонент не перезагружается с другим идентификатором проекта..
Ответ №1:
Я нашел решение:
//private state: StateService
ngOnInit() {
this.subscription = this.state.subscribeImmediately(() => {
this.getProject();
this.tableRender();
});
}