Свойство 'auth' не существует для типа 'AngularFireAuth'., L перепробовал все хаки, которые, как я знаю, ничего не помогли - PullRequest
0 голосов
/ 02 мая 2020

l даже есть импорт в appmodule.ts, но это не может исправить, я попробовал один раз ответить, но ничего не помогло. так что кто-нибудь может мне помочь

     import { Component, OnInit } from '@angular/core';

    import { AngularFireAuth } from '@angular/fire/auth';
    import { auth } from 'firebase/app';
    import { Router } from '@angular/router';


    @Component({
      selector: 'app-login',
      templateUrl: './login.page.html',
      styleUrls: ['./login.page.scss'],
    })
    export class LoginPage implements OnInit {
      mobile = '';
      password = '';

      constructor(public afAuth: AngularFireAuth, private router: Router) {}

      ngOnInit() {}

      async login() {
        const { mobile, password } = this;
        try {
            const res = await this.afAuth.auth.signInWithEmailAndPassword(
            mobile + '@saveme.com',
            password
          );
        } catch (err) {
          console.dir(err)
     }
  }
}

Ответы [ 2 ]

0 голосов
/ 02 мая 2020

Для AngularFireAuth вы должны импортировать AngularFireAuthModule в свой корневой модуль

import { AngularFireModule } from 'angularfire2';
import { AngularFireAuthModule } from 'angularfire2/auth';

@NgModule({
  imports: [
    ...
    AngularFireModule.initializeApp(firebaseConfig),
    AngularFireDatabaseModule,
    AngularFireAuthModule,        // <------ mention here
  ]
})
0 голосов
/ 02 мая 2020

Возможно, вы пытались получить доступ к интерфейсу firebase.auth.Auth напрямую. Из документов :

Не вызывайте этот конструктор напрямую. Вместо этого используйте firebase.auth().

Поэтому попробуйте следующее

const res = await this.afAuth.auth().signInWithEmailAndPassword();
...