2017-09-22 20 views
0

我想发送一个密码重置链接到用户的电子邮件和接收错误在这个问题的标题。密码重置:第一个参数“电子邮件”必须是一个有效的字符串

这里是我的resetpassword.ts文件

import { Component } from '@angular/core'; 
import { IonicPage, NavController, NavParams } from 'ionic-angular'; 
import { AngularFireAuth } from "angularfire2/auth"; 
import { User } from "../../models/user"; 

/** 
* Generated class for the ResetpasswordPage page. 
* 
* See http://ionicframework.com/docs/components/#navigation for more info 
* on Ionic pages and navigation. 
*/ 
@IonicPage() 
@Component({ 
    selector: 'page-resetpassword', 
    templateUrl: 'resetpassword.html', 
    providers: [AngularFireAuth] 
}) 
export class ResetpasswordPage { 
    resetMsg: string="Reset" 
    user = {} as User 

    constructor(private afauth: AngularFireAuth, public navCtrl: 
NavController, public navParams: NavParams) { 
    } 

    async reset(user: User) { 
    try{ 
     const result = 
this.afauth.auth.sendPasswordResetEmail(this.user.email); 
     if(result) { 
     console.log(result); 
     } 
    } 
    catch(e) { 
     console.error(e); 
    } 

} 
} 

下面是模型文件夹中user.ts文件中的代码:

export interface User { 

    email: string; 
    password: string; 

} 

下面这段代码是HTML文件的一部分:

<ion-item> 
    <ion-label color="primary" floating>Email</ion-label> 
    <ion-input type="email" [(ngModel)]="user.email"></ion-input> 
    </ion-item> 
     <button class="reset" (click)="reset(user)" ion-button round medium icon-end color="primary"> 
     {{ resetMsg }} 
     <ion-icon name="arrow-forward"></ion-icon> 
     </button> 

创建用户,登录都很好,但无法发送重置密码邮件。请帮忙!谢谢。

+0

'console.log(this.user.email)'输出了什么? –

+0

代码:“auth/argument-error”,消息:“sendPasswordResetEmail失败:第一个参数”email“必须是有效的字符串。”是它作为输出所抛出的。不知道为什么电子邮件不被视为有效的字符串 – Murali

+0

如果您在控制台日志中获得正确的电子邮件尝试像这样'this.user.email.toString'或将其包装为字符串。 – Hareesh

回答

0

不知道潜在的问题。但是我花了很多时间去编译代码,并在新实例中运行ionic serve命令来解决问题。 @camden_kid您的回答帮助我确认电子邮件是否实际上是以字符串形式呈现的。谢谢!!!

相关问题