2016-07-07 4 views
5

Я хочу реализовать функцию сброса пароля/забытого пароля с помощью AngularFire2. Похоже, что функция sendPasswordResetEmail еще не предоставлена ​​AngularFire2 или данные не обновляются. Поскольку sendPasswordResetEmail является частью AngularFireAuth, я думал, что я все еще мог получить доступ к функции, как это:AngularFire 2 sendPasswordResetEmail

(this.af.auth as any).sendPasswordResetEmail('email'). 
     then((result: any) => { 
      console.log('Result:', result); 
     }).catch((err: any) => { 
      console.log('Err:', err); 
     }); 

Машинопись дает мне эту ошибку:

error TS2349: Cannot invoke an expression whose type lacks a call signature. 

Поскольку я новичок в машинописном + angular2, любые советы, как это Я могу получить доступ к sendPasswordResetEmail?. Я предполагаю, что мне нужно получить доступ к чистым js sdk, предоставленным firebase, но я не знаю, как это сделать.

Спасибо.

+0

У меня точно такая же проблема. Я не думаю, что angularfire 2.0.0 beta.2 как это пока. –

ответ

5

Возможно, у вас есть возможность использовать существующие, но не полностью реализованные функции SDK AngularFire2 путем ввода FirebaseApp в конструктор компонентов, как показано ниже. Это даст вам доступ к методу sendPasswordResetEmail:

import { Component, Inject } from '@angular/core'; 
import { AngularFire, FirebaseApp } from 'angularfire2'; 

@Component({ 
    selector: 'app-forgot-password', 
    template: '...' 
}) 
export class ForgotPasswordComponent { 
    private auth: any; 
    constructor(private af : AngularFire, @Inject(FirebaseApp) fa : any) { 
    this.auth = fa.auth(); 
    } 

    onSubmit() { 
    this.auth.sendPasswordResetEmail(this.user.email) 
     .then(resp => console.log('sent!')) 
     .catch(error => console.log('failed to send', error)); 
    } 
} 

Обратите внимание, что вы должны объявить экземпляр FirebaseApp как any сейчас.

+0

FYI, вы можете объявить введенное приложение как «firebase.app.App» - см. [This] (http://stackoverflow.com/a/39069813/6680611) ответ. – cartant

+0

Great @cartant! Благодарю. –

 Смежные вопросы

  • Нет связанных вопросов^_^