我有多个子组件,它们共享可以正常工作的同一个组件,但是,我无法在页面之间进行路由,因为Angular怀疑该组件已被加载。尝试路由到这些子路由时是否可以重新加载组件?
params.node.setExpanded(true)
答案 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: [...]
}