Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 2 Auth Guard重新定向到主页_Angular_Typescript - Fatal编程技术网

Angular 2 Auth Guard重新定向到主页

Angular 2 Auth Guard重新定向到主页,angular,typescript,Angular,Typescript,如果路由被AuthGuard阻止,是否有方法重新定向到我的主页 例如,如果用户在未登录时访问www.my-example.com/user,他将被auth guard阻止,我希望该用户重新定向回主页。目前它只是显示一个空白页 // app.routing.ts const APP_ROUTE: Routes = [ { path: '', redirectTo: 'home', pathMatch: 'full', }, { path: '', component: UserLayoutComp

如果路由被AuthGuard阻止,是否有方法重新定向到我的主页

例如,如果用户在未登录时访问www.my-example.com/user,他将被auth guard阻止,我希望该用户重新定向回主页。目前它只是显示一个空白页

// app.routing.ts
const APP_ROUTE: Routes = [
{ path: '', redirectTo: 'home', pathMatch: 'full', },
{ path: '', component: UserLayoutComponent, children: [
    { path: 'user', loadChildren: 'app/user/user.module#CalenderModule' },
    ]
}];

// user.routing.ts
const USERR_ROUTE: Routes = [
    { path: '', component: UserComponent, canActivate: [AuthGuard] },
];

export const userRouting = RouterModule.forChild(USERR_ROUTE);

它将帮助你:是的,这是可能的。发布代码,显示如何实现AuthGuard。问题已解决。一个简单的this.router.navigate就是解决方案。谢谢,先生们
import{Injectable} from '@angular/core';
import {CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router} from '@angular/router';

@Injectable()
export class  AutoGuard implements CanActivate{
  constructor(private _router : Router){}
  canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {

    if(/*some condition*/){
        this._router.navigate(['/some_url']);
        return false;
    }
    return true;
  }

}