Почему Angular router.navigate не выполняет навигацию?

#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();
        });
    }