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>
创建用户,登录都很好,但无法发送重置密码邮件。请帮忙!谢谢。
'console.log(this.user.email)'输出了什么? –
代码:“auth/argument-error”,消息:“sendPasswordResetEmail失败:第一个参数”email“必须是有效的字符串。”是它作为输出所抛出的。不知道为什么电子邮件不被视为有效的字符串 – Murali
如果您在控制台日志中获得正确的电子邮件尝试像这样'this.user.email.toString'或将其包装为字符串。 – Hareesh