Angular6 Router导航到共享同一组件的多个子路由

时间:2018-11-07 13:01:01

标签: angular typescript angular6 angular-routing

我有多个子组件,它们共享可以正常工作的同一个组件,但是,我无法在页面之间进行路由,因为Angular怀疑该组件已被加载。尝试路由到这些子路由时是否可以重新加载组件?

params.node.setExpanded(true)

2 个答案:

答案 0 :(得分:1)

您首先必须为每个路线创建一个相同的页面,并使用类似path: 'home/:id'的参数。

虽然它不能解决您的问题。 您必须在那里使用RXJS。例如:

this.route.paramMap .pipe( map((paramMap) => Number.parseInt(paramMap.get('id') || '1', 10)), switchMap((id) => this.myService.getData(id)) ).subscribe((data) => this.data = data);

this.route.paramMap是您可以订阅的Observable。

答案 1 :(得分:1)

您可以使用runGuardsAndResolvers
例如,尝试:

{
        path: '',
        component: StructureComponent,
        canActivate: [AuthGuard],
        runGuardsAndResolvers: 'always'
        children: [...]
}