我需要获取反应性表单输入—use-database-names
和@GET
public Response getPlayers( @Context Request request) {
List<Player> players = database.getAll();
........
}
并将它们传递给我的函数,该函数调用注册服务方法以使用电子邮件在Firebase中注册新用户。不幸的是,在提交表单后的Chrome控制台中,我得到了email
我的代码现在看起来像这样:
register.component.ts
password
我的AuthService文件:
RegisterComponent.html:2 ERROR ReferenceError: email is not defined
这只是我与该问题相关的代码的一部分。我不包括注册表,因为它又大又乱,所以我认为您不需要看它。预先感谢。
编辑:
register.component.html
export class RegisterComponent {
form: FormGroup;
constructor(fb: FormBuilder, private authService: AuthService) {
this.form = fb.group({
email:['',Validators.required ],
password:['',Validators.compose([Validators.required,
PasswordValidator.cannotContainSpace])]
})
email = this.form.controls['email'].value;
password = this.form.controls['password'].value;
}
signInWithEmail() {
this.authService.regUser(this.email, this.password);
}
}
答案 0 :(得分:1)
您可以使用以下方法获得反应式的价值:
signInWithEmail() {
const formValue = this.form.value;
this.authService.regUser(formValue.email, formValue.password);
}
顺便说一句,我认为您应该在服务内部调整regUser
方法参数,使其同时使用这两个参数:
您的服务
regUser(email, pass) {
firebase.auth().createUserWithEmailAndPassword(email, pass)
.catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// ...
});
}