我“总是”希望重新加载我的解析器,并且只在设置片段时才忽略重新加载(例如:URL / xxx?yyy#FRAGMENTHERE)
我错过了什么吗?或者在Angular中是不可能的吗?
这是我尝试过的:
在app-routing-module.ts
...
onSameUrlNavigation: 'reload',
...
在XXX-routing-module.ts中
测试1:
...
runGuardsAndResolvers: 'always' as RunGuardsAndResolvers,
...
该代码不起作用,因为当片段发生更改时,将调用解析器
测试2,3,4:
runGuardsAndResolvers: 'pathParamsOrQueryParamsChange' as RunGuardsAndResolvers,
runGuardsAndResolvers: 'paramsOrQueryParamsChange' as RunGuardsAndResolvers,
runGuardsAndResolvers: 'paramsChange' as RunGuardsAndResolvers,
这些都不起作用,因为如果我尝试在同一URL上重新加载,则不会调用解析器
PS:导航看起来像这样
this.router.navigate([], {
queryParamsHandling: 'merge',
queryParams: {
ProgramState: ProgramState.Reading,
Session: 0,
}
});