Я пытаюсь создать службу Guard Guard для своих маршрутов. В этой службе мне нужно ввести 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
:
providers: [
provideInterceptorService([
new ServerURLInterceptor(new CookieService())
]),
ClaimsGuardService,
CookieService,
UserAccountService,
],
Другие услуги, такие как CookieService
, Http
и т.д., впрыскивают просто отлично, но у UserAccountService
есть эта проблема.
Ниже приводится определение сервиса:
@Injectable()
export class UserAccountService {
private currentUser: any = {};
constructor(private cookieService: CookieService, private http: InterceptorService) {
}
}