gpt4 book ai didi

AngularJS - ValueChanges 只有第一次

转载 作者:太空狗 更新时间:2023-10-29 19:28:27 30 4
gpt4 key购买 nike

我正在开发 AngularJS PWA 应用程序(在我的注册组件中有表格)

表单有 3 个步骤:

第一步

  • 名字
  • 姓氏
  • 电子邮件
  • 密码
  • 电话号码

第 2 步

  • 例子
  • 例子

第 3 步

  • 例子
  • 例子

当我的用户完成第一步时,我有单选按钮:

 <div class="radio">
<label><input type="radio" name="step2" formControlName="step2" value="1"> Fortsæt</label>
<label><input type="radio" name="step2" formControlName="step2" value="2"> Ring mig op</label>
</div>

代码:

this.rForm.get('step2').valueChanges.subscribe(
(step2) => {
// here I have user registration width angularfire2
this.afAuth.auth.createUserWithEmailAndPassword(email, password).then(function(user) {
}
});

当用户单击其中一个单选按钮时,此代码将在 firebase 中注册用户,但如果用户再次单击第二个单选按钮,代码将尝试再次注册用户,我的控制台出现错误(电子邮件已退出..) .

解决这个问题的方法是什么?我只想在第一次触摸单选按钮时注册用户。我没有在这里使用提交,因为我有其他字段和步骤。我只想注册用户的第一步。

最佳答案

您可以使用firsttake 运算符

import 'rxjs/add/operator/first';
this.rForm.get('step2').valueChanges.first().subscribe(

this.rForm.get('step2').valueChanges.take(1).subscribe(

另见 Angular 2 using RxJS - take(1) vs first()

关于AngularJS - ValueChanges 只有第一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46033657/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com