Angular CLI中保护路由的错误

时间:2017-01-11 17:11:44

标签: angular command-line-interface angular2-routing angular2-guards

OS:linux x64 Ubuntu 16.04

角度版

  • angular-cli:1.0.0-beta.24
  • node:7.2.0
  • npm:3.10.9

我使用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] },
];

1 个答案:

答案 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],