Функция canActivate
должна возвращать логическое значение, обещание логического значения или наблюдаемое логического значения.
В вашем случае вы ничего не возвращаете.Возможно, потому что вы пропустили return
в своей функции.
Но это не сработает, если вы добавите его, потому что тогда вы вернете подписку, которая не будет принята подписью.
Что вы можете сделать, это:
canActivate() {
return this.authService.loggedIn().map(res => {
if(!res) {
this.router.navigate(['/login']);
}
return res;
});
}
С помощью этого кода вы соблюдаете подпись и сохраняете логику маршрутизации.