私のルートの認証ガードサービスを作成しようとしています。このサービスでは、現在ログインしているユーザーを返すために使用しているUserAccountServiceを注入する必要があります。CanActivateでAngular2でサービスを注入する
これは私のガードです:
import { Injectable, Inject } from '@angular/core';
import { CanActivate } from '@angular/router';
import { UserAccountService } from '../';
@Injectable() export class ClaimsGuardService implements CanActivate
{
constructor(private user: UserAccountService) { }
canActivate(route, state) {
return true;
}
}
UserAccountService
は細かい部品に注入し、それは私のapp.module
に含まれて動作します。このようCookieService
など
providers: [
provideInterceptorService([
new ServerURLInterceptor(new CookieService())
]),
ClaimsGuardService,
CookieService,
UserAccountService,
],
その他のサービス、Http
などは、注入され、問題はありませんが、UserAccountService
にこの問題があります。以下は
サービスの定義です:
@Injectable()
export class UserAccountService {
private currentUser: any = {};
constructor(private cookieService: CookieService, private http: InterceptorService) {
}
}