Я не могу найти способ получить доступ к службе и правильно настроить ее зависимости, когда доступ к этой службе осуществляется из хука @CanActivate
Angular.
Перед созданием экземпляра компонента мне нужно сначала проверить, что пользователь аутентифицирован. Мой крючок выглядит так:
import {AuthenticationService} from '../authentication/authentication.service';
.................
@CanActivate((next, prev) => {
var injector = Injector.resolveAndCreate([
AuthenticationService
])
var authService = injector.get(AuthenticationService);
return authService.getUser();
})
export class ShellComponent { }
Я получаю ошибку EXCEPTION: No provider for Http! (AuthenticationService -> Http)
. Следует отметить, что HTTP_PROVIDERS
вводятся при начальной загрузке приложения.
Моя служба аутентификации выглядит следующим образом:
import {Injectable} from 'angular2/core';
import {Http} from 'angular2/http';
@Injectable()
export class AuthenticationService {
constructor(private _http:Http) {}
getUser() {
var resolver = function(resolve, reject) {
setTimeout(function doneCounting() {
resolve(true);
}, 5000);
}
return new Promise<Boolean>(resolver);
}
}
Любая помощь или понимание будут оценены.
providers
? - person Avijit Gupta   schedule 27.12.2015