AngularFire2 4.0.0:使用电子邮件和密码登录

J. *_*nor 2 firebase angularfire2 angular

今天我更新到AngularFire2版本4.我正在努力使用电子邮件和密码登录.在我使用以下内容之前:

login() {
    this.af.auth.login({
        email: this.email,
        password: this.password,
    },
    {
        provider: AuthProviders.Password,
        method: AuthMethods.Password,
    }).catch(function(error) {
        // Error
    })
}
Run Code Online (Sandbox Code Playgroud)

似乎登录不是新方法Auth.这似乎是替代品singInWithEmailAndPassword().我试过这个:

login() {
    this.afAuth.auth.signInWithEmailAndPassword({
        email: this.email,
        password: this.password,
    },
    {
        provider: AuthProviders.Password,
        method: AuthMethods.Password,
    }).catch(function(error) {
        // Error
    })
}
Run Code Online (Sandbox Code Playgroud)

它显然与呼叫签名不匹配,即:

signInWithEmailAndPassword(email: string, password: string): firebase.Promise<any>
Run Code Online (Sandbox Code Playgroud)

我不知道该怎么做.

Plo*_*ppy 6

您正在导入2个对象而不是2个必需变量.

通过将代码更改为此更正错误:

this.af.auth.signInWithEmailAndPassword(this.email, this.password);
Run Code Online (Sandbox Code Playgroud)

要么

this.af.auth.signInWithEmailAndPassword(this.email, this.password).catch(function(error){
  // Error Code
});
Run Code Online (Sandbox Code Playgroud)