“AngularFireAuth”类型上不存在属性“auth”

Kar*_*ugh 19 firebase angularfire angular

使用 angularfire 时出现此错误。检查了我的进口,他们似乎是正确的。我曾尝试重新安装 angularfire,但它仍然抛出此错误。angularfire 有问题吗?

import { Injectable, NgZone } from '@angular/core';
import { User } from "../services/user";
import { auth } from 'firebase/app';
import { AngularFireAuth } from "@angular/fire/auth";
import { AngularFirestore, AngularFirestoreDocument } from '@angular/fire/firestore';
import { Router } from "@angular/router";


@Injectable({
  providedIn: 'root'
})

export class AuthService {
  userData: any; // Save logged in user data

  constructor(
    public afs: AngularFirestore,   // Inject Firestore service
    public afAuth: AngularFireAuth, // Inject Firebase auth service
    public router: Router,  
    public ngZone: NgZone // NgZone service to remove outside scope warning
  ) {    
    /* Saving user data in localstorage when 
    logged in and setting up null when logged out */
    this.afAuth.authState.subscribe(user => {
      if (user) {
        this.userData = user;
        localStorage.setItem('user', JSON.stringify(this.userData));
        JSON.parse(localStorage.getItem('user'));
      } else {
        localStorage.setItem('user', null);
        JSON.parse(localStorage.getItem('user'));
      }
    })
  }

  // Sign in with email/password
  SignIn(email, password) {
    return this.afAuth.auth.signInWithEmailAndPassword(email, password)
      .then((result) => {
        this.ngZone.run(() => {
          this.router.navigate(['dashboard']);
        });
        this.SetUserData(result.user);
      }).catch((error) => {
        window.alert(error.message)
      })
  }
Run Code Online (Sandbox Code Playgroud)

小智 44

有同样的问题。似乎开始"@angular/fire": "^6.0.0"AngularFireAuth 已经删除了 auth 属性。

只需删除auth&它应该可以工作

https://github.com/angular/angularfire/issues/2409#issuecomment-615993136


and*_*oni 6

我遇到了同样的问题,它与package.json. 我有

dependencies {
        ...
        "@angular/fire": "latest", // It was 6.0.0
        "firebase": "5.4.2",
        ...
}
Run Code Online (Sandbox Code Playgroud)

然后我改为

dependencies {
        ...
        "@angular/fire": "5.4.2",
        "firebase": "5.4.2",
        ...
}
Run Code Online (Sandbox Code Playgroud)

还要确保AngularFireAuthModule在您的app.module.ts

import { AngularFireAuthModule } from '@angular/fire/auth';

...
@NgModule({
    imports: [
        AngularFireAuthModule
    ],
    ....
})
export class AppModule { }
Run Code Online (Sandbox Code Playgroud)