我是Ionic的新手,所以基本上我正在关注一个教程。在本教程中,人员正在指定从EventEmitter
到<any>
的{{1}}类型,如我的代码所示。我在 login-response.interface.ts 中创建了另一个名为<LoginStatus>
的类。
因此,当我创建一个可选命名为LoginResponse
的对象并传递键result
和email
时,它们也是可选的;它给了我这个语法错误,表明类型uid
与类型UserCredential
没有共同点。
我的 login-form.component.ts 代码是:
LoginResponse
和我的 login-response.interface.ts 文件代码是:
import { Component, EventEmitter, Output } from '@angular/core';
import { NavController } from 'ionic-angular';
import { AngularFireAuth } from 'angularfire2/auth';
import { Account } from '../../model/account/account.interface';
import { LoginResponse } from '../../model/login/login.response.interface';
@Component({
selector: 'app-login-form',
templateUrl: 'login-form.components.html'
})
export class LoginFormComponent {
@Output() loginStatus: EventEmitter < LoginResponse > ;
account = {} as Account;
constructor(private afAuth: AngularFireAuth, private navCtrl: NavController) {
this.loginStatus = new EventEmitter < LoginResponse > ();
}
async login() {
try {
const result = await this.afAuth.auth.signInWithEmailAndPassword(this.account.email, this.account.password)
//I am getting nothing in common userCredential Error on the 'result' word
this.loginStatus.emit(result);
} catch (error) {
console.error(error);
this.loginStatus.emit(error);
}
}
navigateToPage(pageName: string) {
pageName === 'TabsPage' ? this.navCtrl.setRoot(pageName) : this.navCtrl.push(pageName)
}
}
我在Ionic 3中是一个全新的人,所以我不知道自己在哪里犯任何错误。任何帮助将不胜感激。