Mat*_*ney 5 typescript angular
在我的角度2项目中,我无法通过导航到相同的URL但使用不同的查询参数来重新加载页面.我正在使用resolve在加载页面时预取数据.
当URL(查询参数)发生变化时,我试图让解析器重新获取数据.我该怎么做呢?
Gau*_*Dab 14
现在你可以在你的路线配置中使用它:
{
path: '',
resolve: {
data : DataResolver,
},
runGuardsAndResolvers: 'paramsOrQueryParamsChange',
component: MainComponent
}
Run Code Online (Sandbox Code Playgroud)
在路由配置中传递'paramsOrQueryParamsChange'将在每个params或queryParams更改时触发DataResolver.
您可以在MainComponent中获取解析器数据,如下所示:
ngOnInit() {
this.activatedRoute.data.subscribe((resolversData) => {
// is now triggered at each queryParams change
})
}
Run Code Online (Sandbox Code Playgroud)
小智 0
我认为你无法更改queryParam。我不知道这是否对你有帮助,但这是我的答案。
construtor(private route: ActivatedRoute) { }
ngOnInit() {
this.route.snapshot.queryParams['something'];//when you snapshot and navigate to same url you can't get new query params, only for first initialization
// to get new queryparams or url params also you need subscribe (for same url navigation)
this.route.queryParams.subscribe({
(queryParams: Params) => {
this.yourParam = queryParams['something'];
}
})
}
Run Code Online (Sandbox Code Playgroud)
我认为您使用的是快照而不是 Observable queryParams,这就是原因。
| 归档时间: |
|
| 查看次数: |
1920 次 |
| 最近记录: |