Angular 如果参数未使用('next' 已声明但从未使用过),AOT 守卫会抛出错误

Angular AOT guard throwing errors if params not in use('next' is declared but never used)

我刚刚升级到 Angular 4.1.1 据我了解,AOT 现在默认开启(这很好)。

我有一个不使用下一个参数的守卫。

如果我尝试 运行 代码,我会得到 'next' is declared but never used. 错误。

如果我删除 'next' 参数,我会得到这个错误: Class 'AuthGuard' incorrectly implements interface 'CanActivate'.

这是守卫的代码:

@Injectable()
export class AuthGuard implements CanActivate {
  constructor(private authService: AuthenticationService) {}
  canActivate(
    next: ActivatedRouteSnapshot,
    state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
      return this.authService.guardCheck(state.url);
    }
}

处理此错误的最佳方法是什么?

如果有人遇到这个问题,只需删除 "noUnusedParameters": true, 来自 tsconfig.ts