0

操作系统:linux x64 Ubuntu 16.04

角度版本

  • 角-cli:1.0.0-beta.24
  • 节点: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] },
];
4

1 回答 1

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],
于 2017-02-03T22:20:26.300 回答