Я начинающий и изучаю Angular Из учебников, как я следую этим учебникам и когда я реализую интерфейс CanAcivate
, как он делал в учебнике, его ошибка показа
Class 'AuthGaurdнеправильно реализует интерфейс «CanActivate».Свойство 'canActivate' отсутствует в типе 'AuthGaurd', но требуется в типе 'CanActivate'.ts (2420)
Вот реализация Canactivate
export class AuthGaurd implements CanActivate
{
constructor(private auth: AuthService, private router: Router) { }
CanActivate(){
return this.auth.user$.map(user => {
if (user) return true;
this.router.navigate(['/login']);
return false;
});
}
}`
А вот Imports
import { Injectable } from '@angular/core';
import { AuthService } from './auth.service';
import { CanActivate } from '@angular/router/src/utils/preactivation';
import { Router } from '@angular/router';
import 'rxjs/add/operator/map';
Я изменяю Импорт с import { CanActivate } from '@angular/router/src/utils/preactivation';
на import { CanActivate } from '@angular/router; But not work
Также я добавляю следующее в canActivate, так как смотрю один ответ на StackOverflow, но он также не работает для меня
CanActivate(next: ActivatedRouteSnapshot,
state: ActivatedRouteSnapshot): Observable<boolean>