İzin verilmeyen sayfaya erişmeye çalışırken kullanıcıyı hata sayfasına yönlendirmeye çalışıyorum. Sorun, skipLocationChange bu durumda çalışmaz olmasıdır. Hata sayfasına gider, ancak URL köke dönüşür. Orijinal url kullanıcısı nasıl sağlanır?Köşeli 2 rota uyumsuzluğu gideceği yere gitmiyor
resolve(route: ActivatedRouteSnapshot): Observable<any|boolean>|boolean {
return this.apiclientService.get('cars/' + route.params['id']).map(
response => {
if (response.data.user_id === this.authService.user().id) {
return response.data;
}
this.router.navigate(['/404'], { skipLocationChange: true });
return false;
}
).catch(error => {
this.router.navigate(['/404'], { skipLocationChange: true });
return Observable.of(false);
});
}
Neden koruma kullanmıyorsunuz? https://angular.io/docs/ts/latest/guide/router.html#!#guards Bu sorunun sizin sorununuzu çözüp görmediğinden emin değiliz ama sanırım bu tam olarak ne için bekler. –
Korumayı denedim (canActivate) ancak sorun aynı + çözümleyebildiğimiz gibi denetleyiciye veri aktaramaz. Eğer herhangi bir örnek varsa takdir edeceğim. – izupet
Üzgünüm, bir şekilde kodunuzun bir bileşende olduğunu varsaydım. “Çöz” demek istediğim şey. Yeniden üretime izin veren bir Plunker, rotaları da görmek için harika olurdu. –