为什么Angular router.navigate无法导航?

问题描述

我想导航一个子根目录,但是在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",}
...

解决方法

我找到了解决方法:

//private state: StateService
    ngOnInit() {
        this.subscription = this.state.subscribeImmediately(() => {
            this.getProject();
            this.tableRender();
        });
    }