angular – 无法解析AuthGuard的所有参数:在我的AuthGuard服务
发布时间:2020-12-17 18:01:30 所属栏目:安全 来源:网络整理
导读:我有一个AuthGuard.service.ts的代码如下. import { Injectable } from '@angular/core';import { ActivatedRoute,CanActivate } from '@angular/router';import { userLoginService } from './userLoginService';export class AuthGuard implements CanActi
我有一个AuthGuard.service.ts的代码如下.
import { Injectable } from '@angular/core'; import { ActivatedRoute,CanActivate } from '@angular/router'; import { userLoginService } from './userLoginService'; export class AuthGuard implements CanActivate { constructor(private service: userLoginService) { } canActivate() { if (this.service.IsloggedIn()) { return true; } else { window.alert(' You are not logged in.Please LogIn '); return false; } } } 在userLoginService.ts中,我有如下代码 export class userLoginService { constructor() {} IsloggedIn(): boolean { return false; } } 我在我的路线中注入了这个AuthGuard.service.ts,如下所示.我还在NgModule的提供者中提供了这个服务名称. const appRoutes: Routes = [ { path: '',component: HomePageComponent,pathMatch: 'full' },{ path: 'CartItems',component: CartItemsComponent,pathMatch: 'full',canActivate: [ AuthGuard ]},]; @NgModule({ . . . providers: [UserInfoService,AuthGuard],. . . 现在执行此代码时,我收到如下错误. Uncaught Error: Can't resolve all parameters for AuthGuard: (?). at syntaxError (compiler.js:466) at CompileMetadataResolver._getDependenciesMetadata (compiler.js:15547) at CompileMetadataResolver._getTypeMetadata (compiler.js:15382) at CompileMetadataResolver._getInjectableMetadata (compiler.js:15362) at CompileMetadataResolver.getProviderMetadata (compiler.js:15722) at eval (compiler.js:15633) at Array.forEach (<anonymous>) at CompileMetadataResolver._getProvidersMetadata (compiler.js:15593) at CompileMetadataResolver.getNgModuleMetadata (compiler.js:15161) at JitCompiler._loadModules (compiler.js:33542) 你能不能让我知道我犯了什么错误. 解决方法
我看到你导入Injectable但你永远不会使用它!
在您的AuthGuard.service.ts中.你应该在你的类上面添加:@Injectable(),如: @Injectable() export class AuthGuard implements CanActivate { ... } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |