我是初学者,并且在我遵循这些教程时从教程中学习 Angular,当我CanAcivate
按照他在教程中所做的那样实现接口时,它会显示错误
类“AuthGaurd”错误地实现了接口“CanActivate”。“AuthGaurd”类型中缺少属性“canActivate”,但在“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;
});
}
}`
这是进口
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>