내 2 각도 프로젝트에서 동일한 URL로 이동하여 다른 쿼리 매개 변수를 사용하여 페이지를 다시로드 할 수 없었습니다. 페이지를로드 할 때을 으로 미리 가져 와서 데이터를 미리 가져옵니다.쿼리 매개 변수 변경시 데이터를 다시 분석 하시겠습니까?
URL (쿼리 매개 변수)이 변경되면 리졸버가 데이터를 다시 가져 오려고합니다. 어떻게해야합니까?
내 2 각도 프로젝트에서 동일한 URL로 이동하여 다른 쿼리 매개 변수를 사용하여 페이지를 다시로드 할 수 없었습니다. 페이지를로드 할 때을 으로 미리 가져 와서 데이터를 미리 가져옵니다.쿼리 매개 변수 변경시 데이터를 다시 분석 하시겠습니까?
URL (쿼리 매개 변수)이 변경되면 리졸버가 데이터를 다시 가져 오려고합니다. 어떻게해야합니까?
변경된 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'];
}
})
}
나는 Observable queryParams 대신 snapshot을 사용한다고 생각합니다.
지금 당신은 당신의 경로 설정이 함께 할 수
{
path: '',
resolve: {
data : DataResolver,
},
runGuardsAndResolvers: 'paramsOrQueryParamsChange',
component: MainComponent
}
이 경로의 설정에서 'paramsOrQueryParamsChange'을 통과 각 PARAMS 또는 queryParams 변화에 DataResolver을 트리거합니다.
이처럼 MainComponent의 리졸버 데이터를 얻을 수 있습니다 :
ngOnInit() {
this.activatedRoute.data.subscribe((resolversData) => {
// is now triggered at each queryParams change
})
}
난 당신이 더 많은 정보를위한 문서에 대한 링크를 게시,하지만 당신은 그 링크에 대한 일부 내용을 제공 할 수 있음을 감사드립니다. – Daniel
확실 :) 편집을 완료했습니다 @ 다니엘 – GautierDab