问题描述
我想导航一个子根目录,但是在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();
});
}