OS:linux x64 Ubuntu 16.04
角度版
我使用Angular CLI创建了一个项目,但问题是,当我更新页面时,当前路由被破坏,当我在路径的路径中使用CanActivate时,我无法使用它并且它可以工作,但我必须保护路线。
这是我在app.routing.ts
const routes: Routes = [
{ path: '', component: LoginComponent },
{ path: 'reports', component: ReportsComponent, canActivate: [AuthGuard] },
{ path: 'reports/thirds', component: ReportThirdsComponent, canActivate: [AuthGuard] },
{ path: 'reports/profit-loss', component: ReportProfitLossComponent, canActivate: [AuthGuard] },
{ path: 'reports/balance', component: ReportBalanceComponent, canActivate: [AuthGuard] },
];
答案 0 :(得分:1)
关于你的app.routing.ts文件,我认为一切都是正确的。假设您的文件AuthGuard是这样的:
export class AuthGuard implements CanActivate {
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) : Observable <boolean> | boolean{
return true|false;
}
}
问题出在app.module.ts文件中。在提供者部分必须有你的警卫。 您是否检查过该文件中的提供者部分是否有这样的内容?
providers: [AuthGuard],