Angular8 AngularFireAuth: authState.map for Guard canActivate() error: Property 'map' does not exist on type 'Observable<User>'
Angular8 AngularFireAuth: authState.map for Guard canActivate() error: Property 'map' does not exist on type 'Observable<User>'
当我尝试在守卫
上定义canActive()
时,Angular8 AngularFireAuth 出现错误
我收到一个错误:
Property 'map' does not exist on type 'Observable'.ts(2339)
import { Injectable } from "@angular/core";
import { CanActivate, Router } from '@angular/router';
import { AngularFireAuth } from 'angularfire2/auth';
import { Observable } from 'rxjs';
@Injectable()
export class AuthGuard implements CanActivate {
constructor(private router: Router, private afAuth: AngularFireAuth) { }
canActivate(): Observable<boolean> {
this.afAuth.authState.map(auth => {
if(!auth) {
this.router.navigate(['/login']);
return false;
} else {
this.router.navigate(['/']);
return true;
}
})
}
}
import { Injectable } from "@angular/core";
import { CanActivate, Router } from '@angular/router';
import { AngularFireAuth } from 'angularfire2/auth';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators'
@Injectable()
export class AuthGuard implements CanActivate {
constructor(private router: Router, private afAuth: AngularFireAuth) { }
canActivate(): Observable<boolean> {
return this.afAuth.authState.pipe(map((user)=>{
if(user) {
return true;
}
this.router.navigate(['/login'])
return false;
}))
}
}
当我尝试在守卫
上定义canActive()
时,Angular8 AngularFireAuth 出现错误
我收到一个错误:
Property 'map' does not exist on type 'Observable'.ts(2339)
import { Injectable } from "@angular/core";
import { CanActivate, Router } from '@angular/router';
import { AngularFireAuth } from 'angularfire2/auth';
import { Observable } from 'rxjs';
@Injectable()
export class AuthGuard implements CanActivate {
constructor(private router: Router, private afAuth: AngularFireAuth) { }
canActivate(): Observable<boolean> {
this.afAuth.authState.map(auth => {
if(!auth) {
this.router.navigate(['/login']);
return false;
} else {
this.router.navigate(['/']);
return true;
}
})
}
}
import { Injectable } from "@angular/core";
import { CanActivate, Router } from '@angular/router';
import { AngularFireAuth } from 'angularfire2/auth';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators'
@Injectable()
export class AuthGuard implements CanActivate {
constructor(private router: Router, private afAuth: AngularFireAuth) { }
canActivate(): Observable<boolean> {
return this.afAuth.authState.pipe(map((user)=>{
if(user) {
return true;
}
this.router.navigate(['/login'])
return false;
}))
}
}